118 lines
2.0 KiB
Bash
118 lines
2.0 KiB
Bash
#! /bin/sh
|
|
# chkconfig: 2345 20 80
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: sendmail-reboot
|
|
# Required-Start: $all
|
|
# Required-Stop:
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop:
|
|
# Short-Description: Sending a message on startup
|
|
### END INIT INFO
|
|
|
|
start() {
|
|
TXT_MSG="[System States] $(cat /etc/hostname): OS has been rebooted"
|
|
|
|
REL=$(grep 'PRETTY_NAME' /etc/os-release | cut -d= -f2)
|
|
if [ -n "${REL}" ]; then
|
|
TXT_MSG=$(cat <<-END
|
|
${TXT_MSG}
|
|
|
|
--- RELEASE:
|
|
${REL}
|
|
END
|
|
)
|
|
fi
|
|
|
|
KER=$(uname -srm)
|
|
if [ -n "${KER}" ]; then
|
|
TXT_MSG=$(cat <<-END
|
|
${TXT_MSG}
|
|
|
|
--- KERNEL:
|
|
${KER}
|
|
END
|
|
)
|
|
fi
|
|
|
|
NET=$(ip a | grep 'inet' | grep -v -e '127.0.0.1/8' -e '::1/128' \
|
|
| awk '{print $2}')
|
|
if [ -n "${NET}" ]; then
|
|
TXT_MSG=$(cat <<-END
|
|
${TXT_MSG}
|
|
|
|
--- NETWORK:
|
|
${NET}
|
|
END
|
|
)
|
|
fi
|
|
|
|
CPU=$(grep 'model name' /proc/cpuinfo | cut -d':' -f2- | cut -d' ' -f2-)
|
|
if [ -n "${CPU}" ]; then
|
|
TXT_MSG=$(cat <<-END
|
|
${TXT_MSG}
|
|
|
|
--- CPUs:
|
|
${CPU}
|
|
END
|
|
)
|
|
fi
|
|
|
|
MEM=$(grep /proc/meminfo \
|
|
-e 'MemTotal' -e 'MemAvailable' -e 'MemFree' \
|
|
-e 'SwapTotal' -e 'SwapFree' \
|
|
| numfmt --field 2 --to=iec | sed 's/M/G/g' | sed 's/ kB//g')
|
|
if [ -n "${MEM}" ]; then
|
|
TXT_MSG=$(cat <<-END
|
|
${TXT_MSG}
|
|
|
|
--- MEMORY:
|
|
${MEM}
|
|
END
|
|
)
|
|
fi
|
|
|
|
DRI=$(LC_ALL=en_US.UTF-8 df -h --output=source,fstype,size,pcent,target \
|
|
-x tmpfs -x devtmpfs -x squashfs)
|
|
if [ -n "${DRI}" ]; then
|
|
TXT_MSG=$(cat <<-END
|
|
${TXT_MSG}
|
|
|
|
--- DRIVES:
|
|
${DRI}
|
|
END
|
|
)
|
|
fi
|
|
|
|
sleep 15
|
|
python3 /usr/local/bin/sendmail.py \
|
|
--smtp "$(grep "smtp=" /usr/local/bin/sendmail.config | cut -d= -f2)" \
|
|
-u "$(grep "from=" /usr/local/bin/sendmail.config | cut -d= -f2)" \
|
|
-p "$(grep "pass=" /usr/local/bin/sendmail.config | cut -d= -f2)" \
|
|
-d "$(grep "dest=" /usr/local/bin/sendmail.config | cut -d= -f2)" \
|
|
--subj "[System States] $(cat /etc/hostname): OS has been rebooted" \
|
|
--text "${TXT_MSG}" \
|
|
>> /dev/null 2>&1 &
|
|
}
|
|
|
|
stop() {
|
|
pkill -f /usr/local/bin/sendmail.py
|
|
}
|
|
|
|
case "$1" in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
restart)
|
|
stop
|
|
start
|
|
;;
|
|
*)
|
|
printf "%s\n" "Usage: $0 {start|stop|restart}"
|
|
esac
|
|
|
|
exit 0
|