Bash script för överföring av filer från server till CIFS utdelning

Permalänk
Medlem

Bash script för överföring av filer från server till CIFS utdelning

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

Visa signatur

| 3960X | 16 GB DDR3 | P9X79 | H100 | 7950 |
| E31270 | 16 GB DDR3 ECC | ~7 TB eff. ZFS R-Z2 | ESXi |