X-Git-Url: https://git.treefish.org/~alex/backmeupscotty.git/blobdiff_plain/d49c4f521b074d3c7392ab0ea5aad4128af4f4d3..fd81025bfec5e29f8b54a6f52b310d0af6520c88:/backmeupscotty diff --git a/backmeupscotty b/backmeupscotty index 579b63a..9d8853d 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 @@ -35,7 +37,7 @@ function scottyerror { } function ssh255 { - ssh $@ + ssh -l $REMOTE_USER $@ sshret=$? if [ $sshret -eq 255 ]; then @@ -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" @@ -115,10 +123,10 @@ function scottysync { fi scottyinfo "Starting rsync." - rsync -e ssh --bwlimit=$BWLIMIT \ + rsync -e "ssh -l $REMOTE_USER" --bwlimit=$BWLIMIT \ -v -aHAX --numeric-ids --delete --delete-excluded \ --link-dest=$dir_current \ - $rsync_exclude \ + $rsync_exclude $rsync_fake_super \ $SYNC_SRC/ $REMOTE_HOST:$dir_incomplete/ if [ $? -eq 0 ]; then @@ -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