X-Git-Url: https://codewiz.org/gitweb?p=wizbackup.git;a=blobdiff_plain;f=wizbackup;h=746cfba7022435e3c1924188fa2c09ed329c0ce0;hp=d2aea752bcaa01049411683bdf474bb08aee03ca;hb=6ad810ad8ebc496ea2b64f9ad86d2fd2cb28bd03;hpb=af269bfee8c5a0a30e724f8e555112dc915e0406 diff --git a/wizbackup b/wizbackup index d2aea75..746cfba 100755 --- a/wizbackup +++ b/wizbackup @@ -38,7 +38,7 @@ SRC=$1; shift # Destination directory (will be created if it doesn't exist) DEST=$1; shift -CONF_FILE="/etc/wizbackup/wizbackup.conf" +CONFIG_FILE="/etc/wizbackup/wizbackup.conf" # NOTE: --timeout needs to be large enough: if a large dir tree don't change a lot of time can pass without I/O # NOTE: --inplace will clobber linked files in older snapshots. DON'T USE IT! @@ -51,23 +51,23 @@ MONTHS=3 MIN_FREE_GB=10 RESULT=500 -DATE=$(date +"%Y%m%d") -if [ $(date +"%d") = 1 ]; then - DATE="$DATE-monthly" -elif [ $(date +"%w") = 0 ]; then - DATE="$DATE-weekly" +DATE="$(date +"%Y%m%d")" +if [ $(date +"%d") -eq 1 ]; then + DATE="${DATE}-monthly" +elif [ $(date +"%w") -eq 0 ]; then + DATE="${DATE}-weekly" fi DEST="`echo $DEST | sed -e 's/\/$//'`" -if [ -f "$CONF_FILE" ]; then - source /etc/wizbackup/wizbackup.conf +if [ -f "$CONFIG_FILE" ]; then + source "$CONFIG_FILE" fi # Use "backup" ssh key with ssh protocol, or password file for rsync protocol if [ "${SRC%:*}" == "rsync" ]; then RSYNC_OPTS="$RSYNC_OPTS --password-file=/etc/wizbackup/rsync_password --contimeout 10" else - export RSYNC_RSH="ssh -i /etc/wizbackup/ssh_id -c arcfour -x -o VerifyHostKeyDNS=yes -o StrictHostKeyChecking=no" + export RSYNC_RSH="ssh -i /etc/wizbackup/ssh_id -x -o VerifyHostKeyDNS=yes -o StrictHostKeyChecking=no" fi # Error tolerant grep @@ -116,7 +116,7 @@ do_init() { do_prune() { local num_snapshots="$1" local suffix="$2" - local oldest="$(ls -d [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$suffix | head -n -$num_snapshots)" + local oldest="$(ls 2>/dev/null -d [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$suffix | head -n -$num_snapshots)" for old in $oldest; do echo "$(date): Removing oldest snapshot(s): $old..." rm -rf "$old" || exit 669 @@ -173,8 +173,7 @@ do_test() { # make sure to be root if (( `id -u` != 0 )); then { echo "Sorry, must be root. Exiting..."; exit; } fi -echo "$(date): BEGIN backup: $0 $@" -echo "$(date): $0 $SRC $DEST $@" +echo "$(date): BEGIN backup: $0 $SRC $DEST $@" do_init do_prune 6 "" do_prune 4 "-weekly"