uncommented rm of buffer file.
[matthijs/upstream/backupninja.git] / backupninja
index fb5437824c0f772fad63f9f570b8dd8cdb32e120..ce85ba46d10ca25d3a95e2aca50ab467f8512d95 100755 (executable)
@@ -31,7 +31,7 @@ function setupcolors() {
 }
 
 function colorize() {
-       if [ "$usecolor" == "yes" ]; then
+       if [ "$usecolors" == "yes" ]; then
                local typestr=`echo "$@" | sed 's/\(^[^:]*\).*$/\1/'`
                [ "$typestr" == "Debug" ] && type=0
                [ "$typestr" == "Info" ] && type=1
@@ -58,7 +58,7 @@ function colorize() {
 # used to capture output from handlers
 echo_debug_msg=0
 
-usecolor=yes
+usecolors=yes
 
 function printmsg() {
        [ ${#@} -gt 1 ] || return
@@ -143,6 +143,7 @@ function getconf() {
 
        # replace * with %, so that it is not globbed.
        ret="${ret//\\*/__star__}"
+       ret="${ret//\*/__star__}"
 
        # this is weird, but single quotes are needed to 
        # allow for returned values with spaces. $ret is still expanded
@@ -238,6 +239,7 @@ The following options are available:
 -t, --test           Run in test mode, no actions are actually taken.
 -n, --now            Perform actions now, instead of when they
                      might be scheduled.
+    --run FILE       Execute the specified action file and then exit.    
 When using colored output, there are:
 EOF
        debug=1
@@ -306,7 +308,7 @@ function process_action() {
        _fatals=`cat $bufferfile | grep "^Fatal: " | wc -l`
        
        ret=`grep "\(^Warning: \|^Error: \|^Fatal: \)" $bufferfile`
-       #rm $bufferfile
+       rm $bufferfile
        if [ $_fatals != 0 ]; then
                msg "*failed* -- $file"
                errormsg="$errormsg\n== failures from $file ==\n\n$ret\n"
@@ -352,14 +354,31 @@ while [ $# -ge 1 ]; do
                        # we shift here to avoid processing the file path 
                        shift
                        ;;
+               --run)
+                       debug=1
+                       if [ -f $2 ]; then
+                               singlerun=$2
+                               processnow=1
+                       else
+                               fatal "--run option must be fallowed by a backupninja action file"
+                               usage
+                       fi
+                       shift
+                       ;;
                *)
+                       debug=1
                        fatal "Unknown option $1"
                        usage
+                       exit
                        ;;
        esac
        shift
 done                                                                                                                                                                                                           
 
+#if [ $debug ]; then
+#      usercolors=yes
+#fi
+
 ## Load and confirm basic configuration values
 
 # bootstrap
@@ -406,8 +425,14 @@ warnings=0
 actions_run=0
 errormsg=""
 
-for file in $configdirectory/*; do
-       [ -f $file ] || continue;
+if [ "$singlerun" ]; then
+       files=$singlerun
+else
+       files=`find $configdirectory -mindepth 1 `
+fi
+
+for file in $files; do
+       [ -f "$file" ] || continue
 
        check_perms $file
        suffix="${file##*.}"