-
-
Save karthikvee/a1d6f26c63f3caedeafb9ae86997ac4e to your computer and use it in GitHub Desktop.
Script to send email on Debian based server at shutdown and restart.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
### BEGIN INIT INFO | |
# Provides: SystemEmail | |
# Required-Start: $remote_fs $syslog | |
# Required-Stop: $remote_fs $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Send email | |
# Description: Sends an email at system start and shutdown | |
### END INIT INFO | |
EMAIL="[email protected]" | |
RESTARTSUBJECT="["`hostname`"] – System Startup" | |
SHUTDOWNSUBJECT="["`hostname`"] – System Shutdown" | |
RESTARTBODY="This is an automated message to notify you that "`hostname`" started successfully. | |
Start up Date and Time: "`date` | |
SHUTDOWNBODY="This is an automated message to notify you that "`hostname`" is shutting down. | |
Shutdown Date and Time: "`date` | |
LOCKFILE=/var/lock/SystemEmail | |
RETVAL=0 | |
# Source function library. | |
. /lib/lsb/init-functions | |
stop() | |
{ | |
echo -n $"Sending Shutdown Email: " | |
echo "${SHUTDOWNBODY}" | mail -s "${SHUTDOWNSUBJECT}" ${EMAIL} | |
sleep 4 | |
RETVAL=$? | |
sleep 4 | |
if [ ${RETVAL} -eq 0 ]; then | |
rm -f ${LOCKFILE} | |
sleep 4 | |
success | |
else | |
failure | |
fi | |
echo | |
return ${RETVAL} | |
} | |
start() | |
{ | |
echo -n $"Sending Startup Email: " | |
echo "${RESTARTBODY}" | mail -s "${RESTARTSUBJECT}" ${EMAIL} | |
RETVAL=$? | |
if [ ${RETVAL} -eq 0 ]; then | |
touch ${LOCKFILE} | |
success | |
else | |
failure | |
fi | |
echo | |
return ${RETVAL} | |
} | |
case "$1" in | |
start) | |
start | |
;; | |
stop) | |
stop | |
;; | |
status) | |
echo "Not applied to service" | |
;; | |
restart) | |
stop | |
start | |
;; | |
reload) | |
echo "Not applied to service" | |
;; | |
condrestart) | |
# | |
echo "Not applied to service" | |
;; | |
probe) | |
;; | |
*) | |
echo "Usage: SystemEmail{start|stop|status|reload|restart[|probe]" | |
exit 1 | |
;; | |
esac | |
exit ${RETVAL} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment