(no commit message)
[matthijs/upstream/backupninja.git] / backupninja
index 6b888cb006e85609f04bbc2a369184510aaec687..aba997e50a4de87e44f17728cbc19a051eaf6305 100755 (executable)
@@ -163,8 +163,8 @@ function check_perms() {
        local perms=`ls -ld $file`
        perms=${perms:4:6}
        if [ "$perms" != "------" ]; then
-               echo "Configuration files must not be group or world readable! Dying on file $file"
-               fatal "Configuration files must not be group or world readable! Dying on file $file"
+               echo "Configuration files must not be group or world writable/readable! Dying on file $file"
+               fatal "Configuration files must not be group or world writable/readable! Dying on file $file"
        fi
        if [ `ls -ld $file | awk '{print $3}'` != "root" ]; then
                echo "Configuration files must be owned by root! Dying on file $file"
@@ -241,11 +241,17 @@ The following options are available:
                      output to the current shell.
 -f, --conffile FILE  Use FILE for the main configuration instead
                      of /etc/backupninja.conf
--t, --test           Run in test mode, no actions are actually taken.
--n, --now            Perform actions now, instead of when they
-                     might be scheduled.
+-t, --test           Test run mode. This will test if the backup
+                     could run, without actually preforming any
+                     backups. For example, it will attempt to authenticate
+                     or test that ssh keys are set correctly.
+-n, --now            Perform actions now, instead of when they might
+                     be scheduled. No output will be created unless also
+                     run with -d.
     --run FILE       Execute the specified action file and then exit.    
-When using colored output, there are:
+                     Also puts backupninja in debug mode.
+                     
+When in debug mode, output to the console will be colored:
 EOF
        debug=1
        debug   "Debugging info (when run with -d)"
@@ -265,7 +271,7 @@ EOF
 function process_action() {
        local file="$1"
        local suffix="$2"
-
+       local run="no"
        setfile $file
 
        # skip over this config if "when" option
@@ -284,13 +290,14 @@ function process_action() {
                        IFS=$'\t\n'
                        if [ $ret == 0 ]; then
                                debug "skipping $file because it is not $w"
-                               return
                        else
                                info ">>>> starting action $file (because it is $w)"
+                               run="yes"
                        fi
                done
                IFS=$' \t\n'
        fi
+       [ "$run" == "no" ] && return
        
        let "actions_run += 1"
 
@@ -318,6 +325,7 @@ function process_action() {
        rm $bufferfile
        if [ $_fatals != 0 ]; then
                msg "*failed* -- $file"
+               errormsg="$errormsg\n== fatal errors from $file ==\n\n$ret\n"
                passthru "Fatal: <<<< finished action $file: FAILED"
        elif [ $_errors != 0 ]; then
                msg "*error* -- $file"
@@ -475,7 +483,7 @@ for file in $files; do
        check_perms $file
        suffix="${file##*.}"
        base=`basename $file`
-       if [ "${base:0:1}" == "0" ]; then
+       if [ "${base:0:1}" == "0" -o "$suffix" == "disabled" ]; then
                info "Skipping $file"
                continue
        fi