add support for 'when = manual' (Closes: #511299)
[matthijs/upstream/backupninja.git] / src / backupninja.in
index 75b892af5f4a7b19d2ec23a3cb859d449f4433f4..2a1b76ebae4c1d512a6a3f800a92a7e9573cc326 100755 (executable)
@@ -98,7 +98,7 @@ function printmsg() {
 
 function logmsg() {
        if [ -w "$logfile" ]; then
-               echo -e `date "+%h %d %H:%M:%S"` "$@" >> $logfile
+               echo -e `LC_ALL=C date "+%h %d %H:%M:%S"` "$@" >> $logfile
        fi
 }
 
@@ -180,7 +180,7 @@ function check_perms() {
 
 # simple lowercase function
 function tolower() {
-       echo "$1" | tr [:upper:] [:lower:]
+       echo "$1" | tr '[:upper:]' '[:lower:]'
 }
 
 # simple to integer function
@@ -200,14 +200,17 @@ function toint() {
 
 # we grab the current time once, since processing
 # all the configs might take more than an hour.
-nowtime=`date +%H`
-nowday=`date +%d`
-nowdayofweek=`date +%A`
+nowtime=`LC_ALL=C date +%H`
+nowday=`LC_ALL=C date +%d`
+nowdayofweek=`LC_ALL=C date +%A`
 nowdayofweek=`tolower "$nowdayofweek"`
 
 function isnow() {
        local when="$1"
        set -- $when
+
+       [ "$when" == "manual" ] && return 0
+
        whendayofweek=$1; at=$2; whentime=$3;
        whenday=`toint "$whendayofweek"`
        whendayofweek=`tolower "$whendayofweek"`
@@ -298,9 +301,9 @@ function process_action() {
                        ret=$?
                        IFS=$'\t\n'
                        if [ $ret == 0 ]; then
-                               debug "skipping $file because it is not $w"
+                               debug "skipping $file because current time does not match $w"
                        else
-                               info ">>>> starting action $file (because it is $w)"
+                               info ">>>> starting action $file (because current time matches $w)"
                                run="yes"
                        fi
                done
@@ -561,7 +564,7 @@ if [ $doit == 1 ]; then
                        previous=""
                        for i in $(ls "$configdirectory"); do
                        backuploc=$(grep ^directory "$configdirectory"/"$i" | @AWK@ '{print $3}')
-                       if [ "$backuploc" != "$previous" ]; then
+                       if [ "$backuploc" != "$previous" -a -n "$backuploc" ]; then
                                df -h "$backuploc"
                                previous="$backuploc"
                        fi