Visa signatur
| 3960X | 16 GB DDR3 | P9X79 | H100 | 7950 |
| E31270 | 16 GB DDR3 ECC | ~7 TB eff. ZFS R-Z2 | ESXi |
Vill dela med mig av ett script och få hjälp att optimera eller på andra sätt förbättra bash-scriptet om det behövs.
Beskrivning av scriptet:
Ska köras med ~10 min mellanrum med hjälp av cron.
Kontrollerar om en utdelning från en sambaserver är monterad, om inte montera den med hjälp av innehållet i /etc/fstab och avsluta scriptet.
Om utdelningen är monterad så kontrollera om backupprogrammet(rsync) körs. Om inte kör rsync över ssh, annars avsluta scriptet.
Att rsync inte körs vid första körningen när utdelningen monteras spelar ingen roll för mig eftersom det ändå kommer att köras efter 10 min.
Syfte:
Att kopiera innehållet från en dator över ssh till en annan, i mitt fall en CIFS-utdelning(smb).
Så ser det bra ut eller finns det något som borde ändras.
#!/bin/sh
RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
MOUNT=/bin/mount
KEY=/home/user/sshkey
RUSER=remoteuser
RHOST=remote.server.com
RPORT=22
RPATH=/mnt/remotedir/
LPATH=/mnt/localdir
# if cifs is mounted
$MOUNT | grep "$LPATH" > /dev/null
if [ $? -eq 0 ]; then
# check if rsync is running
pidof $RSYNC > /dev/null
if [ $? -ne 0 ]; then
# rsync $LPATH with things from $RPATH
$RSYNC -az -e "$SSH -p $RPORT -i $KEY" $RUSER@$RHOST:$RPATH $LPATH
fi
# else mount it
else
$MOUNT $LPATH
fi
| 3960X | 16 GB DDR3 | P9X79 | H100 | 7950 |
| E31270 | 16 GB DDR3 ECC | ~7 TB eff. ZFS R-Z2 | ESXi |
Copyright © 1999–2023 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.