X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=backup.sh;h=49a643d87c29de676af1b9adeefeeff7daa83d77;hb=66ccd8c7f77e01e7918db16c77459544ceac5f95;hp=22af67e49d2cc047891e271737776f8cd8a62871;hpb=a8f3c8ffd523aef97eeb688bb284c3a26ba0e050;p=backup.sh diff --git a/backup.sh b/backup.sh index 22af67e..49a643d 100755 --- a/backup.sh +++ b/backup.sh @@ -54,16 +54,20 @@ backup() if [ "$backuplevel" = "daglig" ] || [ "$backuplevel" = "incremental" ] then - forrige=`cat ../.date` - forrigecmd="--newer=\"$forrige\"" + lastd=`cat ../.date` + lastcmd="--newer=\"$lastd\"" else - forrigecmd="" + lastcmd="" fi + #if this client has a special tar + $tar=${TAR:-tar} + unset TAR + #We try to run tar on the remote computer - if `ssh $computer ". /tmp/.backup/env ;\ - cd $filesystem ;\ - \${TAR:-tar} cfl - . $forrigecmd \ + #need to specify a special tar on some clients. how? + if `ssh $computer "cd $filesystem ;\ + $tar cfl - . $lastcmd \ --exclude-from=/tmp/.backup/exclude \ | gzip" \ | dd of=$DATE.tmp 2>/dev/null` @@ -99,7 +103,7 @@ do filesystems="" #Sjekker nest siste felt i fstab. Om det er 0 tar vi ikke backup - filesystems=`ssh -n $computer ". /tmp/.backup/env ; cat /etc/fstab" \ + filesystems=`ssh -n $computer "cat /etc/fstab" \ | grep -v nfs \ | grep -v ^# \ | awk '{ if ( $(NF-1) != "0" ) print $2}' ` @@ -111,12 +115,6 @@ do scp $exclude $computer:/tmp/.backup/exclude || echo "could not copy exclude.txt to $computer :(" - #create env if it does not exist - [ -f $confdir/env.$computer ] || touch $confdir/env.$computer - - #copy env to client - scp $confdir/env.$computer $computer:/tmp/.backup/env - #try to copy preeexec and postexec if they exist [ -f $confdir/preexec.$computer ] && scp $confdir/preexec.$computer $computer:/tmp/.backup/preexec @@ -124,7 +122,7 @@ do scp $confdir/postexec.$computer $computer:/tmp/.backup/postexec #try to run preexec if it exist - ssh $computer ". /tmp/.backup/env ; [ -f /tmp/.backup/preexec ] && /bin/bash -x /tmp/.backup/preexec" + ssh $computer "[ -f /tmp/.backup/preexec ] && /bin/bash -x /tmp/.backup/preexec" for filesystem in $filesystems do @@ -183,7 +181,7 @@ do done #try to run postexec if it exist - ssh $computer ". /tmp/.backup/env ; [ -f /tmp/.backup/postexec ] && /bin/bash -x /tmp/.backup/postexec" + ssh $computer "[ -f /tmp/.backup/postexec ] && /bin/bash -x /tmp/.backup/postexec" done