Если у тебя на сервере часовой пояс живёт своей жизнью — готовься к веселью: cron будет срабатывать не тогда, когда ты думаешь, а логи будут жить в параллельной вселенной. В итоге дебаг превратится в ад, потому что в 03:00 по логам у тебя что-то умерло, а по факту — в 06:00.

Ubuntu ставит часовой пояс при установке, но это не значит, что он останется правильным. Сервер мог поехать в другой датацентр, а ты мог забыть об этом. Исправляется за пару минут.

Проверка текущего часового пояса

В Ubuntu есть утилита timedatectl — штука для управления временем и датой. Проверить, в каком времени живёт сервер:

timedatectl

В выводе будет строчка типа:

Time zone: Europe/Moscow (MSK, +0300)

Если там не то, что нужно — пора чинить.

Можно ещё посмотреть, куда указывает /etc/localtime:

ls -l /etc/localtime

Или просто заглянуть в /etc/timezone:

cat /etc/timezone

Как сменить часовой пояс

Сначала надо узнать точное название часового пояса в формате Регион/Город. Список всех вариантов:

timedatectl list-timezones

Листать можно через less, чтобы глаза не вытекли:

timedatectl list-timezones | less

Нашёл свой? Отлично. Меняем:

sudo timedatectl set-timezone Europe/Moscow

Или, например, на Нью-Йорк:

sudo timedatectl set-timezone America/New_York

Проверяем, что всё норм:

timedatectl

Финалка

Часовой пояс — это мелочь, пока она не начнёт ломать расписания задач и путать время в логах. Потрать эти две минуты, поставь правильный, и потом не придётся гадать, почему бэкапы крутятся в час ночи вместо четырёх.