Я написал PHP-скрипт, и для его выполнения требуется разрешение sudo, потому что он выполняет некоторые другие системные вещи. Итак, я добавил это в crontab -e
но я не вижу, что мой скрипт работает правильно.
Команда:
*/5 * * * * /usr/bin/php /srv/www/php/script.php && date > /srv/www/php/mylog.log
Единственный вывод - это дата. Нет ответа от моего сценария. Это исполняемый файл (chmod a + x), и если я использую ту же команду в терминале как root, все в порядке. Так что это до crontab -e
?
Также я убедился, что мой cronjob работает (/ var / log / syslog):
Oct 23 16:40:01 $MYMACHINE CRON[13797]: (root) CMD (/usr/bin/php /srv/www/php/script.php && date > /srv/www/php/mylog.log)
И это каждые 5 минут. Кроме того, в моем "mylog.log" всегда указывается последняя отметка времени, так что я предполагаю, что внутри может быть проблема со скриптом.
РЕДАКТИРОВАТЬ: я создал еще один тестовый сценарий, чтобы проверить, выполняются ли сценарии или нет. Но сценарий был выполнен, так что проблема внутри сценария.
Я пытаюсь динамически добавлять IP-адреса в цепочку iptables:
#!/bin/bash
value=`cat whitelist.txt`
#echo "$value"
for i in $(echo $value | tr "," "\n")
do
# process
/sbin/iptables -I teamspeakCommunication --src $i -j ACCEPT
done
Вы можете увидеть что-нибудь странное?
Добавьте его в свой файл / etc / crontab следующим образом:
*/5 * * * * root /usr/bin/php /srv/www/script.php && date > /srv/www/php/mylog.log
Если первая строка вашего скрипта #!/usr/bin/php
и разрешение на выполнение, вы можете вызывать его напрямую, как любой другой скрипт, например, написанные на bash, perl и т. д.
С уважением!