]> git.sesse.net Git - backup.sh/blobdiff - backup.sh
If .date becomes invalid, revert to full backup.
[backup.sh] / backup.sh
index c3143d71cd78f19495478b372369201a6a929696..f054e1aae68fa9d93e875e3db4cb04a9077a9914 100755 (executable)
--- a/backup.sh
+++ b/backup.sh
@@ -114,9 +114,11 @@ backup()
 
        if [ $? -eq 0 ] && [ -s $TARFILE ]; then
                # File is >0 in size and neither cat or tar tzvf failed; we assume it worked.
-
-               if ! scp root@$computer:$incrementalsnar $SNARFILE.tmp; then
-                       diemsg "Could not copy .incremental.snar from $computer"
+               if [ "$incrementalsnar" ]; then
+                       if ! scp root@$computer:$incrementalsnar $SNARFILE.tmp; then
+                               diemsg "Could not copy .incremental.snar from $computer"
+                       fi
                fi
 
                # Move tar file in place
@@ -213,7 +215,7 @@ for filesystem in $filesystems; do
        # Default backuplevel
        backuplevel=daglig
 
-       if [ ! -f $storagedir/$computer/$sfilesystem/.date ]
+       if [ ! -s $storagedir/$computer/$sfilesystem/.date ]
        then
                # Take the first full backup of this filesystem on this computer
                backuplevel=full
@@ -246,7 +248,9 @@ for filesystem in $filesystems; do
        backup
 
        # Check if this box has a custom number of full backups
-       if [ -f $confdir/maksfulle.$computer ] ; then
+       if [ -f $confdir/maksfulle.$computer.$sfilesystem ]; then
+               mf=$((`cat $confdir/maksfulle.$computer`+1))
+       elif [ -f $confdir/maksfulle.$computer ] ; then
                mf=$((`cat $confdir/maksfulle.$computer`+1))
        else
                mf=$(($maxnumfull+1))