Как изменить часовой пояс (Timezone) в Ubuntu: настройка через timedatectl
Почему серверное время должно быть абсолютно точным
По умолчанию большинство серверов на хостингах и в облаках создаются с часовым поясом UTC (Всемирное координированное время). Если на сервере не настроена локальная таймзона, возникают серьезные бизнес-проблемы:
- Путаница в логах: Ошибка на сайте произошла в 15:00 по Москве, а в системном логе стоит время 12:00 UTC. На сопоставление времени при аварии уходят часы.
- Сбои планировщика Cron: Ночные бэкапы, запланированные на 03:00 ночи, начинают выполняться в разгар рабочего дня в 06:00 утра, создавая тормоза пользователям.
- Отказ аутентификации Kerberos и 2FA: Разница во времени между сервером и контроллером домена более чем на 5 минут полностью блокирует вход пользователей в систему.
Пошаговая настройка часового пояса и синхронизации времени
Шаг 1: Проверка текущего времени и пояса (timedatectl)
Выполните команду проверки состояния времени:
timedatectlВ выводе обратите внимание на строки Time zone (текущий пояс) и System clock synchronized: yes/no (работает ли синхронизация с мировыми атомными часами).
Шаг 2: Поиск нужного часового пояса в списке
Найдем правильное системное имя вашего региона (например, Москва):
timedatectl list-timezones | grep -i MoscowСистема выдаст точное имя: Europe/Moscow (для Екатеринбурга — Asia/Yekaterinburg, для Новосибирска — Asia/Novosibirsk).
Шаг 3: Установка нового часового пояса
Установите выбранный пояс одной командой:
sudo timedatectl set-timezone Europe/MoscowИзменение применяется мгновенно ко всей операционной системе без необходимости перезагрузки!
Шаг 4: Включение автоматической NTP-синхронизации
Убедитесь, что демон синхронизации времени по сети (Network Time Protocol) включен:
sudo timedatectl set-ntp trueШаг 5: Проверка результата
Введите команду date:
dateКонсоль покажет актуальное правильное местное время и аббревиатуру пояса (например, MSK).
Типовые ошибки администраторов
- Ручная установка времени через date -s: Попытка выставить время вручную «на глаз» через
date -s "15:30"не решает проблему, так как часы быстро начнут отставать или спешить из-за дрейфа аппаратного генератора материнской платы. Всегда используйте NTP-серверы! - Ручное удаление файла /etc/localtime: В старых инструкциях советовали вручную удалять файл
/etc/localtimeи создавать симлинк на zoneinfo. На современных системах это часто приводит к ошибкам systemd. Пользуйтесь официальной утилитойtimedatectl.
ITSTM настроит централизованные NTP-стратумы в локальной сети предприятия и обеспечит микросекундную точность синхронизации всех серверов.
Частые вопросы (FAQ)
Нужно ли перезапускать веб-сервер и базы данных после смены таймзоны?
Некоторые запущенные сервисы (например, PHP-FPM, PostgreSQL, Cron) считывают часовой пояс при старте. Чтобы логи приложений начали писаться с новым временем, рекомендуется перезапустить службы: sudo systemctl restart cron php*-fpm.
Как настроить часовой пояс интерактивно через удобное меню?
Запустите графический псевдоинтерфейс в терминале: sudo dpkg-reconfigure tzdata и выберите ваш континент и город стрелками на клавиатуре.
Что лучше использовать для продакшн-серверов: UTC или местное время?
В крупных Enterprise-инфраструктурах золотым стандартом является работа всех серверов строго в UTC-времени. Это исключает проблемы со скачками времени при переходе на летнее/зимнее время и облегчает сбор логов из филиалов в разных городах.
Какая служба отвечает за синхронизацию времени в Ubuntu?
Встроенная легковесная служба systemd-timesyncd. Для высокоточных серверов СУБД вместо нее часто ставят полноценный демон chrony (sudo apt install chrony).