#!/bin/bash LOGFILE="/var/log/timedshutdown.log" touch $LOGFILE # Log file ################################################################# log () { TIMEDATE=$(date +%Y/%m/%d_%H:%M:%S) echo "$TIMEDATE $1" >> $LOGFILE } if [ `cat $LOGFILE | wc -l` -ge 100 ]; then >$LOGFILE log "Log file was rotated" fi ############################################################################ log "Waiting 1hr to allow user to cancel shutdown" sleep 1h # Main loop ################################################################ for i in 1 2 do if [ `ps -ef | grep vzdump | wc -l` -eq 1 ]; then log "Triggering scheduled post-backup shutdown" /usr/sbin/shutdown -h now exit 1 else log "Automatic shutdown delayed due to concurrent backup task" sleep 30m fi done log "Automatic shutdown cancelled due to concurrent backup task" exit 2 ############################################################################