X-Git-Url: https://codewiz.org/gitweb?p=wizbackup.git;a=blobdiff_plain;f=wizbackup-driver;h=e85d41f2f81f3b3b26569d0dee58b71f0ddf03f1;hp=1709284a3e8469869acae708f07709d0e41bba2a;hb=7c061b438673833744dc9c3db70ed82d1d5c00db;hpb=46d6df097eeebe611e3ca3bd07506df1c0bbc1ff diff --git a/wizbackup-driver b/wizbackup-driver index 1709284..e85d41f 100755 --- a/wizbackup-driver +++ b/wizbackup-driver @@ -1,6 +1,6 @@ #!/bin/bash # -# WizBackup Driver 1.0 +# WizBackup Driver 1.1 # Copyright 2011 Bernie Innocenti # # This program is free software: you can redistribute it and/or modify @@ -17,9 +17,9 @@ # along with this program. If not, see . # -if [ $# -lt 1 ] +if [ $# -lt 2 ] then - echo "Usage: $0 [MACHINE-TAB]" + echo "Usage: $0 [MACHINE-TAB] [DEST]" echo echo "The MACHINE-TAB file contains hostnames of machines to be backed up, one per line." echo "Empty lines and lines starting with '#' are ignored." @@ -27,12 +27,12 @@ then fi HOSTS=`cat $1 | egrep -v '^#|^ *$'` +DEST="$2" LOGGROUP=`basename $1` LOGDIR=/var/log/wizbackup LOCKDIR=/var/lock/wizbackup -DEST=/backup -EXCLUDES_DIR=$DEST/EXCLUDE +EXCLUDES_DIR="$DEST/EXCLUDE" today=`date +"%Y%m%d"` mkdir -p $LOGDIR @@ -45,13 +45,14 @@ else fi for host in $HOSTS; do - opts="--exclude-from $EXCLUDES_DIR/ALWAYS" - if [ -f "$EXCLUDES_DIR/$host" ]; then - opts="$opts --exclude-from $EXCLUDES_DIR/$host" - fi + opts="" + for file in "$EXCLUDES_DIR/ALWAYS" "$EXCLUDES_DIR/$host"; do + [ -f $file ] && opts="$opts --exclude-from $file" + done start_time=$(date +%s) - flock $LOCKDIR/$host wizbackup "$host:/" "$DEST/$host/" $opts >>$LOGFILE 2>&1 + flock -n $LOCKDIR/$host nice ionice -c2 -n6 \ + wizbackup "$host:/" "$DEST/$host/" $opts >>$LOGFILE 2>&1 result=$? end_time=$(date +%s)