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

У меня есть виртуальная машина, настроенная на PST, которую пара коллег имеет в разных часовых поясах.

Если я хочу изменить часовой пояс на EST и GMT, что мне нужно сделать?

10 ответов

Решение

Использование timedatectl

sudo timedatectl set-timezone <timeszone>

Примеры:

  • Часовой пояс как EST

    sudo timedatectl set-timezone EST
    
  • Часовой пояс как UTC

    sudo timedatectl set-timezone UTC
    
  • Список всех действительных часовых поясов

    timedatectl list-timezones
    

Эта команда идеально подходит для сценариев автоматизации, поскольку она не требует какого-либо взаимодействия с пользователем по сравнению с другими ответами, основанными на dpkg-reconfigure tzdata,

В качестве пользователя root вы должны выполнить:

dpkg-reconfigure tzdata

Должен быть запущен инструмент на основе меню, позволяющий изменить часовой пояс.

Следующие также работают. Для GMT:

ln -sf /usr/share/zoneinfo/GMT /etc/localtime

Лес:

ln -sf /usr/share/zoneinfo/EST /etc/localtime

Самый простой способ, особенно для сервера, - перечислить часовые пояса:

timedatectl list-timezones

И выберите свой, например:

timedatectl set-timezone Europe/Athens

Это оно!,:-)

Изменить timezone файл в /etc папка как:

Etc/GMT

Вы можете использовать следующий формат:

Region "/" City 

Пример /etc/timezone:

Europe/Athens

или же

Europe/Paris
Europe/London

Вы можете поэкспериментировать с: dpkg-reconfigure tzdataи проверьте cat файл часового пояса.

Вы должны перезагрузить или снова запустить службу (не службу ntp). Я не знаю, какой. Если кто-то знает, пожалуйста, поделитесь с нами. (Протестировано на Ubuntu 15.10, изменение учитывается мгновенно)

cp -p /usr/share/zoneinfo/US/Pacific /etc/localtime

Я рекомендую ПРОТИВ ссылки, как упомянуто другими. Если какой-то скрипт случайно перепишет ваш /etc/localtime файл, затем он перезаписывает ваш файл с часовым поясом в Тихом океане... и заменить его немного затруднительно.

Просто скопируйте файл Pacific по файлу localtime с помощью команды выше.

Чтобы запустить одну программу с другой настройкой часового пояса, установите TZ переменная окружения, например, run TZ=Pacific/Kiritimati date чтобы увидеть, сколько времени на острове Рождества, или export TZ=Pacific/Kiritimati чтобы настройки были последними для сеанса оболочки.

Я использую следующий скрипт, чтобы спросить пользователя, какой часовой пояс установить, а затем подтвердить, что он действительно установлен:

#!/bin/sh
sudo timedatectl set-timezone $(tzselect)
echo
echo timedatectl says:
timedatectl

Я называю это tz-set,

Это сработало для меня на GCP Ubuntu 14 через SSH

  1. sudo su
  2. cp /usr/share/zoneinfo/Asia/Singapore /etc/localtime
  3. Перезагрузите сервер
  4. Готово

В качестве пользователя root вы должны выполнить:

ln -fs /usr/share/zoneinfo/Europe/Warsaw /etc/localtime && dpkg-reconfigure --frontend noninteractive tzdata

Другие вопросы по тегам