#!/bin/bash
# Shutdown Script
# ====================================================================
# I wrote this script with the intention of using it as part of a
# cron-job. Before you set up the cron-job, you must make sure you
# have either ran the "make-log-files.sh" script or created the
# appropriate log file and folder at the location specified at
# "logFile" below.
# As an aside, I usually set-up as alias for "shutdown" called,
# "powerdown". When I enter "powerdown" into the terminal, this script
# should ran and then the "shutdown" command is ran at the end. The
# "sleep" part is to give "curl" a bit of a buffer to finish its task.
# I have found it sometimes fails otherwise.
logDate = $( date '+%Y-%m-%dT%TZ' )
logFile = "/home/rtrp/logs/shutdown-logs.txt"
mainURL = "http://3.9.19.84/api/status/update" # Make sure this is valid.
getApiUrl ( ) {
case $HOSTNAME in
( factory1) apiURL = " ${ mainURL } /1 " ; ;
( factory2) apiURL = " ${ mainURL } /2 " ; ;
( factory3) apiURL = " ${ mainURL } /3 " ; ;
( gallery1) apiURL = " ${ mainURL } /4 " ; ;
( gallery2) apiURL = " ${ mainURL } /5 " ; ;
( gallery3) apiURL = " ${ mainURL } /6 " ; ;
esac
}
logStatusChange ( ) {
cat << EOF >> $logFile
$logDate
EOF
}
logStatusChange
getApiUrl
curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/html' -d '{"status": "off", "time": "' ${ logDate } '", "token": "QWERTYuiopasdfghjklzxcvbnm_1234567890"}' " ${ apiURL } "
/sbin/shutdown -h now