Ссылки:
https://github.com/ksemaev/manuals/blob/master/Simple%20daemon%20on%20Linux.md
Пример скрипта checker.sh:
Создаем по пути /opt/checker.sh скрипт с содержимым: #!/bin/bash while true do LIMIT=0.02 LAST="$(uptime | tail -c 5)" if (( $(echo "$LAST >= $LIMIT" | bc -l) )) ; then echo "ALERT at $(date)" >> /var/log/checker fi sleep 10 done
Превращаем checker.sh в исполняемый файл и проверяем работу:
chmod u+x /opt/checker.sh touch /var/log/checker /opt/checker.sh tail /var/log/checker
Создаем /etc/init.d/checker скрипт для демона:
#!/bin/bash
# chkconfig: 2345 20 80
# description: checking load
# Source function library.
. /etc/init.d/functions
case "$1" in
start)
echo "$(date) service checker started" >> /var/log/checker
/opt/checker.sh &_
echo $!>/var/run/checker.pid
;;
stop)
echo "$(date) service checker stopped" >> /var/log/checker
kill cat /var/run/checker.pid
rm /var/run/checker.pid
;;
restart)
$0 stop
$0 start
;;
status)
if [-e /var/run/checker.pid]; then
echo checker is running, pid=cat /var/run/checker.pid
else
echo checker is NOT running
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
esac
exit 0
Делаем скрипт исполняемым и добавляю в автозапуск и проверяю его работу:
sudo chmod u+x /etc/init.d/checker chkconfig checker on service checker start service checker status