[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:
+31
-7
@@ -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
|
||||||
|
############################################################################
|
||||||
Reference in New Issue
Block a user