[Proxmox Timed Shutdown]

- Log file function with date/time stamp prefix.
- Log file rotation.
- Shutdown loop to handle overrunning backup tasks.
This commit is contained in:
2022-09-24 17:44:09 +01:00
parent 2029eb40bc
commit 04db5027c1
+32 -8
View File
@@ -1,12 +1,36 @@
#!/bin/bash
echo "Waiting 1hr to allow user to cancel shutdown"
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
if [ `ps -ef | grep vzdump | wc -l` -eq 1 ]; then
echo "Triggering scheduled post-backup shutdown"
/usr/sbin/shutdown -h now
else
echo "Automatic shutdown not triggered due to concurrent backup task"
exit 2
fi
# Main loop ################################################################
for i in 1 2 3 4
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 15m
fi
done
log "Automatic shutdown cancelled due to concurrent backup task"
exit 2
############################################################################