[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
+31 -7
View File
@@ -1,12 +1,36 @@
#!/bin/bash #!/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 sleep 1h
if [ `ps -ef | grep vzdump | wc -l` -eq 1 ]; then # Main loop ################################################################
echo "Triggering scheduled post-backup shutdown" 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 /usr/sbin/shutdown -h now
else exit 1
echo "Automatic shutdown not triggered due to concurrent backup task" else
exit 2 log "Automatic shutdown delayed due to concurrent backup task"
fi sleep 15m
fi
done
log "Automatic shutdown cancelled due to concurrent backup task"
exit 2
############################################################################