X-Git-Url: http://git.treefish.org/~alex/backmeupscotty.git/blobdiff_plain/d49c4f521b074d3c7392ab0ea5aad4128af4f4d3..4c0336852fc4beb9ad2144eb8a73abb6398f27d5:/backmeupscotty?ds=inline diff --git a/backmeupscotty b/backmeupscotty index 579b63a..87dc193 100644 --- a/backmeupscotty +++ b/backmeupscotty @@ -1,5 +1,6 @@ #!/bin/bash +REMOTE_USER=root REMOTE_HOST=localhost REMOTE_DIR=/tmp/backmeupscotty/test ARCHIVE_KEEPNBACKUPS=30 @@ -7,6 +8,7 @@ ARCHIVE_KEEPNDAYS=30 BACKUP_RUNEVERYNTHDAY=1 BWLIMIT=500KiB BACKUP_FORCE=0 +FAKE_SUPER=0 _ERROR_ENCOUNTERED=0 @@ -105,6 +107,12 @@ function scottysync { rsync_exclude=$(eval echo --exclude={$SYNC_EXC} | tr -d {}) fi + if [ $FAKE_SUPER -eq 1 ]; then + rsync_fake_super="--rsync-path=\"rsync --fake-super\"" + else + rsync_fake_super="" + fi + if (ssh255 $REMOTE_HOST '[ ! -d '$REMOTE_DIR' ]'); then scottyinfo "Creating destination directory $REMOTE_HOST:$REMOTE_DIR." ssh255 $REMOTE_HOST "mkdir $REMOTE_DIR" @@ -118,8 +126,8 @@ function scottysync { rsync -e ssh --bwlimit=$BWLIMIT \ -v -aHAX --numeric-ids --delete --delete-excluded \ --link-dest=$dir_current \ - $rsync_exclude \ - $SYNC_SRC/ $REMOTE_HOST:$dir_incomplete/ + $rsync_exclude $rsync_fake_super \ + $SYNC_SRC/ $REMOTE_USER@$REMOTE_HOST:$dir_incomplete/ if [ $? -eq 0 ]; then scottyinfo "Timestamping completed backup and linking to current backup." @@ -190,6 +198,15 @@ Recognized options: EOF } +function exclusiveLock { + if ! mkdir /var/lock/$(basename $0); then + scottyerror "Another instance of $(basename $0) is still running!" + exit 1 + else + trap deleteLock EXIT + fi +} + function backmeupscotty { while getopts "qn:flh" opt; do case $opt in @@ -202,9 +219,9 @@ function backmeupscotty { f) BACKUP_FORCE=1 ;; - l) - LIST_BACKUPS=1 - ;; + l) + LIST_BACKUPS=1 + ;; h) printhelp exit 0 @@ -215,12 +232,14 @@ function backmeupscotty { ssh255 $REMOTE_HOST exit if [ $LIST_BACKUPS ]; then - for backup in $(grepbackups); do - echo $backup - done - exit 0 + for backup in $(grepbackups); do + echo $backup + done + exit 0 fi + exclusiveLock + if [ $BACKUP_FORCE -eq 1 ]; then scottyinfo "Backup was enforced." elif latestTooOld; then @@ -243,10 +262,3 @@ function backmeupscotty { exit 0 } - -if ! mkdir /var/lock/$(basename $0); then - scottyerror "Another instance of $(basename $0) is still running!" - exit 1 -else - trap deleteLock EXIT -fi