Added disk space report option (adam kosmin suggestion)
[matthijs/upstream/backupninja.git] / src / backupninja.in
index 16ac7a7dc5e5417ffeae1f64b23b427ea4a562f8..3bf0ad161e4ab7896d2ad6f504d7c48bd7787c42 100755 (executable)
@@ -132,7 +132,7 @@ function msg {
 function check_perms() {
    local file=$1
    local perms
-   perms=($(stat -L --printf='%a %g %G %u %U' $file))
+   perms=($(stat -L --format='%a %g %G %u %U' $file))
    local gperm=${perms[0]:1:1}
    local wperm=${perms[0]:2:1}
    local gid=${perms[1]}
@@ -426,6 +426,7 @@ setfile $conffile
 getconf configdirectory @CFGDIR@/backup.d
 getconf scriptdirectory @datadir@
 getconf reportemail
+getconf reportspace
 getconf reportsuccess yes
 getconf reportwarning yes
 getconf loglevel 3
@@ -476,7 +477,7 @@ errormsg=""
 if [ "$singlerun" ]; then
        files=$singlerun
 else
-       files=`find -L $configdirectory -mindepth 1 -maxdepth 1 -type f ! -name '.*.swp' | sort -n`
+       files=`find $configdirectory -follow -mindepth 1 -maxdepth 1 -type f ! -name '.*.swp' | sort -n`
 
        if [ -z "$files" ]; then
                fatal "No backup actions configured in '$configdirectory', run ninjahelper!"
@@ -526,7 +527,18 @@ if [ $doit == 1 ]; then
                        echo ${messages[$i]}
                done
                echo -e "$errormsg"
-       } | mail $reportemail -s "backupninja: $hostname $subject"
+               if [ "$reportspace" == "yes" ]; then
+                       previous=""
+                       for i in $(ls "$configdirectory"); do
+                       backuploc=$(grep ^directory "$configdirectory"/"$i" | awk '{print $3}')
+                       if [ "$backuploc" != "$previous" ]; then
+                               mountdev=$(mount | grep "$backuploc" | awk '{print $1}')
+                               df -h "$mountdev"
+                               previous="$backuploc"
+                               fi
+                       done
+               fi
+       } | mail -s "backupninja: $hostname $subject" $reportemail
 fi
 
 if [ $actions_run != 0 ]; then