У меня странная проблема. Используя Debian 6 и crontab -e (как root), следующая задача cron работает нормально:
*/5 * * * * bin/sh /root/backup
но это не работает если я настрою его запускать в определенное время:
00 12 * * * bin/sh /root/backup
К сожалению, в лог-файлах вообще нет ошибок.
date
показывает правильное время и часовой пояс.
Я также изменил UTC на «нет» вместо «да» в / etc / default / rcS, но это не помогло.
Я совершенно не понимаю, в чем может быть причина, и надеюсь, что у вас есть решение для меня!
Как уже упоминалось, убедитесь, что в конце файла есть пустая строка. Я бы также не использовал bin/sh
но используйте абсолютный путь (/bin/sh
).
В чем может быть проблема (которая, если ошибки нет, может считаться ошибкой), заключается в том, что вы указываете 00
скорее, чем 0
. Спецификация времени (взятая из справочной страницы):
The time and date fields are:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
Обратите внимание, что они указывают одну цифру 0
.
Убедитесь, что строка с конкретной датой не является последней строкой в вашем crontab. У Vixie cron все еще была ошибка, связанная с тем, что все строки crontab нуждались в переводе строки для правильной работы в прошлый раз, когда я проверял.
Возможно, будет достаточно комментария в конце.
Вам не хватает пользовательской части задания cron.
0 12 * * * root /bin/sh /root/backup