Для отслеживания изменения файлов на диске использую:
https://github.com/gregghz/Watcher
Когда его запускаю, то все работает, но со временем, он перестает работать.
Перезапускаю его и он опять работает
Как проверить, что он работает в текущий момент?
1) Проверяю pid, он существует:
root@Web:~$ll /root/.watcher/watcher.pid
-rw-rw-rw- 1 root root 5 июн 3 08:38 /root/.watcher/watcher.pid
2) Проверяю процессы:
root@Web:~$ps ax | grep watcher
1980 ? Sl 0:01 python /usr/bin/watcher.py start
3198 pts/0 S+ 0:00 grep watcher
Запускаю его через rc-local.service, для этого создал файл
/etc/rc.local#!/bin/sh -e
watcher.py stop
watcher.py start
exit 0
PS. "watcher.py stop" прописал, так как иногда выдает ошибку, что он уже запущен. Наверное смотрит, что PID создан.
Создал службу, прописал в файле
/etc/systemd/system/rc-local.service
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
Дал ему права и поставил в запуск:
chmod +x /etc/rc.local
systemctl enable rc-local
systemctl start rc-local
PS. Думаю поставить его на ежедневную перезагрузку в cron. Но пока интересно, как отследить его "падение".