| Linux hosting5.siteguarding.com 3.10.0-962.3.2.lve1.5.88.el7.x86_64 #1 SMP Fri Sep 26 14:06:42 UTC 2025 x86_64 Path : /usr/local/bin/ |
| Current File : //usr/local/bin/dxm.check_backup |
#!/bin/bash
# DXM status check designed for NRPE
# Pavel Piatruk, 2010
# http://www.nksupport.com
. /etc/dxm/dxm.conf
TXT="";
CODE=0
{
# check files backup
if [ "$DOFILES" == 1 ]
then if [ -f $STATUS ]
then if [ "`stat -c %Y $STATUS`" -lt "`date +%s -d -1day-9hour`" ]
then DAYS=$(((`date +%s`-`stat -c %Y $STATUS`)/3600/24 ))
TXT=$TXT"TAR CRITICAL - $STATUS $DAYS days old; "
[ "$CODE" != "2" ] && { [ "$DAYS" -lt 4 ] && CODE=1 || CODE=2 ; }
echo "after files $CODE"
else TXT=$TXT`head -n1 $STATUS`"; "
grep "^TAR OK" $STATUS || CODE=2
fi
else TXT=$TXT"TAR CRITICAL - ${STATUS} not found; "
CODE=2
fi
fi
# check mysqldump backup
if [ "$DOMYSQL" == 1 ]
then
if [ -f $STATUSMYSQL ]
then if [ "`stat -c %Y $STATUSMYSQL`" -lt "`date +%s -d -1day-9hour`" ]
then DAYS=$(((`date +%s`-`stat -c %Y $STATUSMYSQL`)/3600/24))
TXT=$TXT"MYSQL CRITICAL - $STATUSMYSQL $DAYS days old; "
[ "$CODE" != "2" ] && { [ "$DAYS" -lt 4 ] && CODE=1 || CODE=2 ; }
else if echo $DUMPDIR | grep -qf $EXCLUDE
then TXT=$TXT"MYSQL CRITICAL - DUMPDIR $DUMPDIR is in EXCLUDELIST $EXCLUDE; "
CODE=2
else TXT=$TXT`head -n1 $STATUSMYSQL`"; "
grep "^MYSQL OK" $STATUSMYSQL || CODE=2
fi
fi
else TXT=$TXT"MYSQL CRITICAL - $STATUSMYSQL not found; "
CODE=2
fi
fi
# check posgtresql backup
if [ "$DOPOSTGRESQL" == 1 ]
then
if [ -f $STATUSPOSTGRESQL ]
then if [ "`stat -c %Y $STATUSPOSTGRESQL`" -lt "`date +%s -d -1day-9hour`" ]
then DAYS=$(((`date +%s`-`stat -c %Y $STATUSPOSTGRESQL`)/3600/24))
TXT=$TXT"POSTGRESQL CRITICAL - $STATUSPOSTGRESQL $DAYS days old; "
[ "$CODE" != "2" ] && { [ "$DAYS" -lt 4 ] && CODE=1 || CODE=2 ; }
else if echo $DUMPDIR | grep -qf $EXCLUDE
then TXT=$TXT"POSTGRESQL CRITICAL - DUMPDIR $DUMPDIR is in EXCLUDELIST $EXCLUDE; "
CODE=2
else TXT=$TXT`head -n1 $STATUSPOSTGRESQL`"; "
grep "^POSTGRESQL OK" $STATUSPOSTGRESQL || CODE=2
fi
fi
else TXT=$TXT"POSTGRESQL CRITICAL - $STATUSPOSTGRESQL not found; "
CODE=2
fi
fi
# check ftp backup
if [ "$DOFTP" == 1 ]
then
if [ -f $STATUSFTP ]
then if [ "`stat -c %Y $STATUSFTP`" -lt "`date +%s -d -1day-9hour`" ]
then DAYS=$(((`date +%s`-`stat -c %Y $STATUSFTP`)/3600/24))
TXT=$TXT"FTP CRITICAL - $STATUSFTP $DAYS days old; "
[ "$CODE" != "2" ] && { [ "$DAYS" -lt 4 ] && CODE=1 || CODE=2 ; }
else TXT=$TXT`head -n1 $STATUSFTP`"; "
grep "^FTP OK" $STATUSFTP || CODE=2
fi
else TXT=$TXT"FTP CRITICAL - $STATUSFTP not found; "
CODE=2
fi
fi
#rsync check
if [ "$DORSYNC" == 1 ]
then
if [ -f $STATUSRSYNC ]
then if [ "`stat -c %Y $STATUSRSYNC`" -lt "`date +%s -d -1day-9hour`" ]
then DAYS=$(((`date +%s`-`stat -c %Y $STATUSRSYNC`)/3600/24))
TXT=$TXT"RSYNC CRITICAL - $STATUSRSYNC $DAYS days old; "
[ "$CODE" != "2" ] && { [ "$DAYS" -lt 4 ] && CODE=1 || CODE=2 ; }
else TXT=$TXT`head -n1 $STATUSRSYNC`"; "
grep "^RSYNC OK" $STATUSRSYNC || CODE=2
fi
else TXT=$TXT"RSYNC CRITICAL - $STATUSRSYNC not found; "
CODE=2
fi
fi
# check rotate backup
if [ "$DOROTATE" == 1 ]
then
if [ -f $STATUSROTATE ]
then if [ "`stat -c %Y $STATUSROTATE`" -lt "`date +%s -d -1day-9hour`" ]
then DAYS=$(((`date +%s`-`stat -c %Y $STATUSROTATE`)/3600/24))
TXT=$TXT"ROTATE CRITICAL - $STATUSROTATE $DAYS days old; "
[ "$CODE" != "2" ] && { [ "$DAYS" -lt 4 ] && CODE=1 || CODE=2 ; }
else TXT=$TXT`head -n1 $STATUSROTATE`"; "
grep "^ROTATE OK" $STATUSROTATE || CODE=2
fi
else TXT=$TXT"ROTATE CRITICAL - $STATUSROTATE not found; "
CODE=2
fi
fi
#check lock
if [ -f "$LOCKFILE" ]
then TXT=$TXT"dxm is running"
P=`cat $LOCKFILE`
if sudo ps -p $P >/dev/null
then TXT=$TXT", process exists; "
else TXT=$TXT", process $P is missing; "
CODE=2
fi
fi
} 1>/dev/null 2>/dev/null
if [ "$CODE" == 2 ]
then echo "DXM CRITICAL : "$TXT
else if [ "$CODE" == 1 ]
then echo "DXM WARNING : "$TXT
else echo "DXM OK : "$TXT
fi
fi
exit $CODE