Implemented fix to report errors (via cron) on fatal problems in the main backupninja...
authorMicah Anderson <micah@riseup.net>
Fri, 6 May 2005 01:17:25 +0000 (01:17 +0000)
committerMicah Anderson <micah@riseup.net>
Fri, 6 May 2005 01:17:25 +0000 (01:17 +0000)
backupninja
etc/cron.d/backupninja

index 380ffcc37f0e1afd7f7ae8edada2f63fcb46b045..687571bf88e092bcda470163a0ef9875e00883e9 100755 (executable)
@@ -159,9 +159,11 @@ 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"
        fi
        if [ `ls -ld $file | awk '{print $3}'` != "root" ]; then
+               echo "Configuration files must be owned by root! Dying on file $file"
                fatal "Configuration files must be owned by root! Dying on file $file"
        fi
 }
@@ -351,6 +353,7 @@ while [ $# -ge 1 ]; do
                        if [ -f $2 ]; then
                                conffile=$2
                        else
+                               echo "-f|--conffile option must be followed by an existing filename"
                                fatal "-f|--conffile option must be followed by an existing filename"
                                usage
                        fi
@@ -363,6 +366,7 @@ while [ $# -ge 1 ]; do
                                singlerun=$2
                                processnow=1
                        else
+                               echo "--run option must be fallowed by a backupninja action file"
                                fatal "--run option must be fallowed by a backupninja action file"
                                usage
                        fi
@@ -370,6 +374,7 @@ while [ $# -ge 1 ]; do
                        ;;
                *)
                        debug=1
+                       echo "Unknown option $1"
                        fatal "Unknown option $1"
                        usage
                        exit
@@ -385,10 +390,22 @@ done
 ## Load and confirm basic configuration values
 
 # bootstrap
-[ -r "$conffile" ] || fatal "Configuration file $conffile not found."
+if [ ! -r "$conffile" ]; then
+       echo "Configuration file $conffile not found." 
+       fatal "Configuration file $conffile not found."
+fi
+
 scriptdir=`grep scriptdirectory $conffile | awk '{print $3}'`
-[ -n "$scriptdir" ] || fatal "Cound not find entry 'scriptdirectory' in $conffile"
-[ -d "$scriptdir" ] || fatal "Script directory $scriptdir not found."
+if [ ! -n "$scriptdir" ]; then
+       echo "Cound not find entry 'scriptdirectory' in $conffile" 
+       fatal "Cound not find entry 'scriptdirectory' in $conffile"
+fi
+
+if [ ! -d "$scriptdir" ]; then
+       echo "Script directory $scriptdir not found." 
+       fatal "Script directory $scriptdir not found."
+fi
+
 setfile $conffile
 
 # get global config options (second param is the default)
@@ -410,7 +427,11 @@ getconf MYSQLDUMP /usr/bin/mysqldump
 getconf GZIP /bin/gzip
 getconf RSYNC /usr/bin/rsync
 
-[ -d "$configdirectory" ] || fatal "Configuration directory '$configdirectory' not found."
+if [ ! -d "$configdirectory" ]; then
+       echo "Configuration directory '$configdirectory' not found."
+       fatal "Configuration directory '$configdirectory' not found."
+fi
+
 [ -f "$logfile" ] || touch $logfile
 
 if [ "$UID" != "0" ]; then
index 82f21f9731069c5b3a77b71c080cba36bd686bd4..b612bd8dca9af97f6b9a4de6931474e48ab32f04 100644 (file)
@@ -3,4 +3,4 @@
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
 # run backupninja every hour on the hour
-00 * * * * root if [ -x /usr/sbin/backupninja -a -f /etc/backupninja.conf ]; then /usr/sbin/backupninja; fi
+00 * * * * root if [ -x /usr/sbin/backupninja ]; then /usr/sbin/backupninja; fi