it-swarm.dev

Jak změnit nastavení časového pásma z příkazového řádku

Mám virtuální stroj nastavený na PST , který má několik kolegů v různých časových pásmech.

Pokud jsem chtěl změnit časové pásmo na EST a GMT , co dělat Potřebuji udělat?

238
manyxcxi

Použijte timedatectl

Sudo timedatectl set-timezone <timeszone>

Příklady:

  • Časové pásmo jako EST

    Sudo timedatectl set-timezone EST
    
  • Časové pásmo jako UTC

    Sudo timedatectl set-timezone UTC
    
  • Výpis všech platných časových pásem

    timedatectl list-timezones
    

Tento příkaz je perfektní pro automatizační skripty, protože nevyžaduje žádnou interakci uživatele zatímco ve srovnání s jinou danou odpovědí založenou na dpkg-reconfigure tzdata.

314
Jossef Harush

Jako root musíte provést:

dpkg-reconfigure tzdata

Měl by být spuštěn nástroj založený na nabídce, který vám umožní změnit časové pásmo.

40
maxschlepzig

Následující také fungují. Pro GMT:

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

Pro EST:

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

Nejjednodušší cestou zejména k serveru je seznam časových pásem:

timedatectl list-timezones

A vyberte si například:

timedatectl set-timezone Europe/Athens

A je to! , :-)

20
Dimitrios

Upravte soubor timezone v /etc složka jako:

Etc/GMT

Můžete použít následující formát:

Region "/" City 

Příklad /etc/timezone:

Europe/Athens

nebo

Europe/Paris
Europe/London

Můžete experimentovat s: dpkg-reconfigure tzdata a zkontrolujte kočku soubor časového pásma.

Musíte restartovat nebo znovu spustit službu (ne službu ntp). Nevím, který z nich. Pokud někdo ví, prosím, podělte se s námi. (Testováno na Ubuntu 15.10, změna je vzata v úvahu okamžitě)

7

Chcete-li spustit jeden program s jiným nastavením časového pásma, nastavte proměnnou prostředí TZ, např. spustit TZ=Pacific/Kiritimati date vidět, kolik je hodin na vánočním ostrově, nebo export TZ=Pacific/Kiritimati, aby nastavení trvalo pro relaci Shell.

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

Doporučuji PROTI propojení, jak bylo zmíněno ostatními. Pokud nějaký skript omylem přepíše váš /etc/localtime, pak přepíše váš soubor tichomořských časových pásem ... a je to trochu bolest ho nahradit.

Stačí zkopírovat tichomořský soubor na místní soubor pomocí výše uvedeného příkazu.

5
J Roysdon

Následující skript používám k tomu, abych se uživatele zeptal, které časové pásmo má nastavit, a pak potvrdím, že bylo skutečně nastaveno:

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

Říkám to tz-set.

2
Tom Hale

To pro mě fungovalo na GCP Ubuntu 14 prostřednictvím SSH

  1. Sudo su
  2. cp /usr/share/zoneinfo/Asia/Singapore /etc/localtime
  3. Restartujte server
  4. Hotovo
0

Jako root musíte provést:

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

0
Stefan Sebastian