X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=backup.sh;h=c4330309ea2d685208766d08a3aa3d99ad6adbe2;hb=22aae2730e071334116c61dc67d9f00ea960b364;hp=5bbf1378b09c83cf736881e59926fd752b5d1f02;hpb=744c43e41f7db3dbf8cc9a2b8a6bee8b6fe84ee4;p=backup.sh diff --git a/backup.sh b/backup.sh index 5bbf137..c433030 100755 --- a/backup.sh +++ b/backup.sh @@ -44,10 +44,7 @@ PATH=/local/bin:$PATH:/store/bin export PATH #start the logfile -echo `date`": Backup run starting" -echo "Exclude pattern:" -cat $exclude -echo "End exclude pattern" +echo `date`": Backup run starting" >&2 umask 027 @@ -78,7 +75,8 @@ DATEs=`date "+%Y-%m-%d %H:%M"` #format: tar backup() { - printf "%-${logw}s %s\n" "$computer:$filesystem" "$backuplevel backup" + echo -n `date` >&2 + printf " $computer: %-${logw}s %s\n" "$computer:$filesystem" "$backuplevel backup" >&2 if [ "$backuplevel" = "daglig" ] || [ "$backuplevel" = "incremental" ] then @@ -113,7 +111,7 @@ backup() TARFILE=$DATE.tmp TARCMD="ssh $computer \"$tar --one-file-system -zcf - -C $filesystem . $lastcmd \ --exclude-from=$exf\" > $TARFILE" - echo "cmdline: $TARCMD" + echo `date`" $computer: Running $TARCMD" >&2 if eval $TARCMD; then mv $TARFILE $DATE.tgz @@ -133,7 +131,7 @@ backup() else #it did not work rm $TARFILE - echo `date`": $TARFILE empty. $backuplevel backup of $computer:$filesystem failed and deleted" + echo `date`" $computer: $TARFILE empty. $backuplevel backup of $computer:$filesystem failed and deleted" # We don't want to return 0 R=1 @@ -145,13 +143,11 @@ backup() for computer in $unixcomputers do ( - echo `date`": Backing up $computer" + echo `date`" $computer: Backing up $computer" >&2 # Try to SSH to the computer without entering a password. - if `ssh -n -o NumberOfPasswordPrompts=0 $computer /bin/true`; then - echo "Passwordless SSH to $computer works." - else - echo "Could not use passwordless SSH to $computer." + if ! `ssh -n -o NumberOfPasswordPrompts=0 $computer /bin/true`; then + echo `date`" $computer: Could not use passwordless SSH." # We don't want to return 0 R=1 @@ -168,11 +164,9 @@ do | grep -v "^$" \ | awk '{ if ( $(NF-1) != "0" ) print $2}' ` - echo "Filesystems to backup on $computer: $filesystems" - #clean up our dir at this client if ! ssh $computer "rm -r ~/.backup ; mkdir -m 700 ~/.backup"; then - echo "Could not create backup staging area at $computer:~/.backup" + echo `date`" $computer: Could not create backup staging area at $computer:~/.backup" # We don't want to return 0 R=1 break; @@ -180,7 +174,7 @@ do #try to copy $exclude to $computer if ! scp $exclude $computer:~/.backup/exclude > /dev/null; then - echo "Could not copy exclude.txt to $computer" + echo `date`" $computer: Could not copy exclude.txt to $computer" # We don't want to return 0 R=1 break; @@ -190,14 +184,14 @@ do # TODO: Gah, clean this mess! [ -f $confdir/preexec.$computer ] && ( scp $confdir/preexec.$computer $computer:~/.backup/preexec || - ( echo "Could not copy preexec.$computer to $computer:~/.backup/preexec"; + ( echo `date`" $computer: Could not copy preexec.$computer to $computer:~/.backup/preexec"; R=1 break ) ) [ -f $confdir/postexec.$computer ] && ( scp $confdir/postexec.$computer $computer:~/.backup/postexec || - ( echo "Could not copy postexec.$computer to $computer:~/.backup/postexec" + ( echo `date`" $computer: Could not copy postexec.$computer to $computer:~/.backup/postexec" break R=1 ) @@ -250,7 +244,7 @@ do for full in `ls -1t $storagedir/$computer/$sfilesystem/full/*tgz | tail +$mf` do prefix=`echo $full | sed "s/\.[^.]*$//"` - echo "$computer:$filesystem sletter full $prefix (for mange)" + echo `date`": $computer:$filesystem sletter full $prefix (for mange)" >&2 rm $prefix* done @@ -271,10 +265,6 @@ done & wait -# print diskusage to logfile -echo "Current disk usage:" -df -k $storagedir - # Remove lockfile rm $LOCKFILE @@ -283,5 +273,5 @@ if [ $R != 0 ]; then echo `date`": Backup run ended with errors, check logs." exit 1 else - echo `date`": Backup run ended" + echo `date`": Backup run ended" >&2 fi