Eu instalei um pacote python que rastreia as alterações de arquivo chamadas quando alteradas ( link ). Agora o comando que quero executar é:
when-changed /var/www/html/php/logfile.csv /var/www/html/php/processpayment.sh
Quando modifico o logfile.csv, o código em processpayment.sh é executado. No entanto, quando eu coloco este comando no meu arquivo /etc/rc.local e reinicio o sistema, o script não será executado quando eu modificar o arquivo! Eu tenho 3 suposições:
Para referência, o processo final funciona:
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
O script:
#!/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;
A configuração de inicialização:
/etc/init# cat whenchanged.conf
start on startup
task
when-changed /var/www/html/php/logfile.csv
/var/www/html/php/processpayment.sh