Я искал везде и часами пробовал различные решения, но, похоже, ничего не работает ... Как видно из названия, cron просто не будет выполнять команды на моем компьютере с Ubuntu 18.04.
My /etc/crontab
файл выглядит следующим образом:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
*/1 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Мой тестовый скрипт представляет собой простой эхо-скрипт 'Hello world' (с именем echo
), который содержится в /etc/cron.hourly
:
#!/bin/sh
echo 'Hello world'
Вызов run-parts /etc/cron.hourly
из любого каталога выводит «Hello world» на консоль, как и ожидалось, но задача никогда не выполняется cron. У меня также есть скрипт, который автоматически создает резервную копию базы данных MySQL в cron.hourly
. Это также выполняет и создает ожидаемый файл при вызове run parts
, поэтому проблема не в том, что cron не показывает вызовы echo
. Однако Cron явно что-то делает, так как я получаю следующий вывод в /var/log/syslog
:
...
Mar 25 03:05:01 ip-172-31-32-110 CRON[10077]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 25 03:06:01 ip-172-31-32-110 CRON[10108]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 25 03:07:01 ip-172-31-32-110 CRON[10122]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 25 03:08:01 ip-172-31-32-110 CRON[10149]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 25 03:09:01 ip-172-31-32-110 CRON[10162]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Некоторые другие вещи, которые я пробовал:
sudo crontab -e
и создание там есть новая команда cron (она выдает тот же вывод в /var/log/syslog
, что и /etc/crontab
) - , используя
#!/bin/bash
вместо #!/bin/sh/
sudo service cron restart
- Сделано убедитесь, что в нижней части
crontab
sudo chmod 755 echo
имеется пустая строка, чтобы убедиться, что файл является исполняемым
Это доставляет мне огромную головную боль, поэтому я очень признателен за любую помощь по этому вопросу!