Ссылки:
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