Показать журналы cron, подтверждающие это.
Возможно, cron или система работает в другом часовом поясе?
Чтобы прояснить ситуацию, мы фактически видели графиков , которые показали, что задание началось в 2:00, 10:00 и т. Д.
При исследовании проблемы мы обнаружили, что cron запускается с TZ = UTC
, а для / etc / timezone
установлено значение Europe / Zurich
. Похоже, cron был перезапущен в то время, когда / etc / timezone
содержал UTC
, и никогда не перезапускался с тех пор, как / etc / timezone
был изменен.
Поскольку в результате cron не только запускает свои задания в формате UTC, но и регистрирует его в формате UTC, в результате чего /var/log/auth.log
содержит такие вещи, как:
May 25 08:19:57 ip-10-50-81-194 sshd[6216]: pam_unix(sshd:session): session opened for user root by (uid=0)
May 25 06:25:01 ip-10-50-81-194 CRON[6385]: pam_unix(cron:session): session opened for user root by (uid=0)
May 25 06:29:44 ip-10-50-81-194 CRON[6385]: pam_unix(cron:session): session closed for user root
May 25 08:53:36 ip-10-50-81-194 sudo: nagios : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/opt/nagios-plugins/check_system_update.pl
Поскольку collectd правильно работает в Europe / Zurich
, отображаются задания, начинающиеся в 2:00 (полночь по всемирному координированному времени), 10:00 (8:00 по всемирному координированному времени) и т. Д.
передача переменной TZ всегда заставит скрипт запускаться в этом часовом поясе независимо от местного часового пояса вашей системы. Если вы не хотите такого поведения, удалите переменную TZ из строки.
Символ * означает firs-last, поэтому, если вы настроите cronjob, например
0 * / 2 * * * echo "runat midn, 2am, 4am ..., daily"
должен быть таким же, как
0 0-23 / 2 * * * echo "runat midn, 2am, 4am ..., daily"
, поэтому в вашем примере такие задания, как
0 0-23 / 8 * * * команда
или
0 * / 8 * * * команда
должна выполняться в 0:00 8:00 16:00 ...
Возможно, у вас неверные настройки времени или времени. Покажите нам свой crontab -l вывод и проверьте текущие настройки времени и часового пояса.