Cron работает по местному времени, но вы можете использовать строку TZ = в некоторых системах, чтобы заставить ее запускать определенные строки в разных часовых поясах. Другие системы не поддерживают это. Если у вас есть строка TZ=UTC
или TZ=GMT
, закомментируйте это. Если вы этого не сделаете, попробуйте добавить TZ=IST
на отдельной строке перед вашей первой записью. Использование man crontab
должно документировать строку TZ =, если ваша система поддерживает это. Остерегайтесь проблем с переходом на летнее время, если вы указали часовой пояс.
Если cron действительно работает в UTC, то есть несколько возможностей, в том числе то, что ваша система работает в UTC, или что cron каким-то образом запустился с переменной окружения TZ, установленной в UTC. Тип
date
чтобы увидеть, сколько времени ваша система хранит. Убедитесь, что в вашей оболочке не установлена переменная TZ (проверьте с помощью printenv TZ
, которая ничего не должна возвращать).
Делать
ps auxwwe | grep cron | grep TZ
проверить cron, начав с набора TZ. Если ничего не возвращается, TZ не был установлен при запуске. Если он установлен, вам нужно будет проследить весь процесс загрузки, чтобы увидеть, где установлен TZ, начиная со скрипта, запускающего cron.
Здесь больше о cron и часовых поясах:
https://askubuntu.com/questions/54364/how-do-you-set-the-timezone-for-crontab
--jh--