Check backup
Zur Navigation springen
Zur Suche springen
#!/bin/bash test "$#" -lt 1 && { echo "no option found" ; exit 2 ; } function isanumber() { WERT=$(echo $1 | grep "^[0-9]\+$") if [ "x$WERT" != "x" ] then return 0 else return 1 fi } while getopts h:b: opt do case $opt in #b) echo "Option b";; h) HOURS=$OPTARG;; b) BACKUP=$OPTARG;; ?) echo "USAGE: $0 -h HOURS -b BACKUP"; exit 2 ;; esac done isanumber $HOURS || { echo "HOUR must be a INTEGER" ; exit 2 ; } test -d $BACKUP || { echo "no backup dir found" ; exit 2 ; } DAT=$(ls -rt $BACKUP/* | tail -1) DATHOURS=$(($(stat -c %X $DAT)/3600)) NOW=$(($(date "+%s")/3600)) DIFF=$(($NOW - $DATHOURS)) NEXT=$(($HOURS - $DIFF)) OVER=$(($DIFF - $HOURS)) test $DIFF -gt $HOURS && { echo "backup is missing since $OVER h" ; exit 2 ;} BASE=$(basename $DAT) MES=$(echo $BASE | cut -f 1 -d .) ERR=$(echo $BASE | cut -f 2 -d .) if test "$ERR" -eq "0" then FLAG="is ok - next in $NEXT h" else FLAG="is not ok" fi #echo "BACKUP from $MES $FLAG" echo "BACKUP $FLAG" exit $ERR