Я установил пакет python, который отслеживает изменения файлов, называемые когда-измененные (https://github.com/joh/when-changed). Теперь команда, которую я хочу выполнить:
when-changed /var/www/html/php/logfile.csv /var/www/html/php/processpayment.sh
Когда я изменяю logfile.csv, исполняется код в processpayment.sh. Однако, когда я помещаю эту команду в мой файл /etc/rc.local и перезагружаю систему, сценарий не выполняется, когда я изменяю файл! У меня есть 3 предположения:
- Когда измененный инструмент - дерьмо, он не работает как демон.
- /etc/rc.local не место для установки этого демона (я пытался поместить его в /etc/init/whenchanged.conf безрезультатно)
- демон должен быть подключен к pts /O, а не в?
Для справки, нижний процесс работает:
root 1331 0.5 0.4 275480 17376 ? Sl 16:14 0:04 /usr/bin/python /usr/local/bin/when-changed /var/www/html/php/logfile.csv /var/www/html/php/processpayment.sh
root 3547 7.0 0.4 267024 16868 pts/1 Sl 16:27 0:00 /usr/bin/python /usr/local/bin/when-changed /var/www/html/php/logfile.csv /var/www/html/php/processpayment.sh
Сценарий:
#!/bin/bash
# called when logfile.csv changes
# scrapes logfile.csv and runs the mintscript
IN=$(cat logfile.csv | tail -n1 | cut -d';' -f4,6 | xargs)
arrIN=(${IN//;/ })
amount=${arrIN[0]}
address=${arrIN[1]}
node "soupcoinmintscript.js" $address $amount | tee "log"
exit 0;
Конфигурация запуска:
/etc/init# cat whenchanged.conf
start on startup
task
when-changed /var/www/html/php/logfile.csv
/var/www/html/php/processpayment.sh