Bagaimana cara mengatur waktu sekarang di Linux?

69

Mengapa output dari perintah berikut berbeda?

root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST  -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var# 

Dan bisakah saya mengubah waktu saat ini di Linux?

Wuffers
sumber
1
Pencarian cepat Google menghasilkan tautan ini:> cyberciti.biz/faq/howto-set-date-time-from-linux-command-prompt

Jawaban:

90

Biasanya Anda ingin mengatur waktu secara otomatis, dan dalam hal ini, Anda ingin mengatur agar mengatur waktu ntpdsecara otomatis untuk Anda.

Spesifikasinya sedikit berbeda dari distribusi ke distribusi, tetapi jika Anda menjalankan Ubuntu, misalnya, ada panduan tentang pengaturan NTP di Ubuntu . Jika tidak, cukup Google ntpd <distribution-name>, dan Anda mungkin akan menemukannya.

Namun, jika Anda ingin mengaturnya secara manual, Anda dapat menggunakannya date --set="<date string>". Contoh dari ini bisa:

date --set="23 June 1988 10:00:00"
date --set="10:00:00"
Sebastian Paaske Tørholm
sumber
37

Atur Jam Hardware ke Waktu Sistem saat ini.

# hwclock --systohc

Atur Waktu Sistem dari Jam Perangkat Keras.

# hwclock --hctosys
Gjorgji Tashkovski
sumber
23

adil ntpdate ntp.ubuntu.comdan semuanya akan baik-baik saja.

Ada informasi lebih lanjut tentang ini di Dokumentasi Resmi Ubuntu

Gangsar Swapurba
sumber
18
tolong uraikan lebih lanjut jawaban Anda dan berikan penjelasan kepada QA dan pembaca di masa depan apa yang dilakukan perintah yang Anda sebutkan dan mengapa Anda merekomendasikan tindakan tersebut. catatan: QA bertanya bagaimana cara mengubah waktu, bukan bagaimana membuatnya tetap sinkron.
Lorenzo Von Matterhorn
1
@LorenzoVonMatterhorn ok
Gangsar Swapurba
Ini masih belum ada penjelasan. Apa yang harus saya harapkan terjadi jika saya menjalankan perintah ini?
jerclarke
1
Berfungsi bagus untuk mengatur waktu yang tepat.
Sabrina Gelbart
13

Masalah umum lain yang sangat menjengkelkan adalah, ketika zona waktu yang salah dipilih ...

Periksa zona waktu dengan output tanggal:

$ date

Fre 23 Agustus 18:47:04 UTC 2013

Untuk memperbaiki jenis zona waktu:

$ sudo tzselect

dan pilih Wilayah yang benar dengan nomor yang sesuai.

Tugas kedua adalah mengatur waktu yang benar:

$ sudo date --set = "18:37:00"

Atau luangkan waktu dari Jam HW:

$ sudo hwclock --hctosys

filum
sumber
3

Di CentOSzona waktu berada di /usr/share/zoneinfo/, untuk mengubah tanggal sistem ke zona waktu tertentu Anda dapat:

Pertama, buat cadangan file localtime yang ada.

sudo mv /etc/localtime /etc/localtime.bak

Selanjutnya, buat tautan:

sudo ln -s /usr/share/zoneinfo/Europe/Lisbon  /etc/localtime

Periksa tanggal sistem baru dengan mengetik date.

Untuk menyesuaikan tanggal sistem Linux secara manual, Anda dapat mengetik:

date -s "11 MAR 2006 11:11:11"

ATAU

date --set="11 MAR 2015 11:11:11"

ATAU

date +%Y%m%d -s "20150311"

Untuk mengatur Jam Perangkat Keras ke Waktu Sistem saat ini:

hwclock --systohc

ATAU

hwclock -w
Pedro Lobito
sumber
1

"hwclock" adalah tanggal perangkat keras (mesin), dan "tanggal" adalah tanggal perangkat lunak (sistem operasi).

Untuk mengubah tanggal perangkat keras pc:

hwclock --set --date="2013-7-31 09:30"

Untuk mengubah tanggal perangkat lunak:

date --set "2013-7-31 09:30"
David Motilla
sumber
1

Coba ini:

date +%T -s "12:21:00"

atau

date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"
Zeroows
sumber
0

datemengembalikan waktu yang diberikan sebagai waktu dari saat CPU mulai ditambah jam perangkat keras internal yang diberikan waktu, hwclockmemberikan waktu yang dimiliki jam internal.

Waktu berbasis cpu cenderung melayang lama mesin naik, itulah alasan di balik keberadaan hwclock --hctosysperintah. Juga merupakan salah satu alasan di balik penggunaan Waktu Protokol Jaringan, yang digunakan untuk mengoordinasikan waktu secara internasional di internet.

RedComet
sumber
0

gunakan ini jika belum punya klien NTP

date -s $(wget -q -O - http://www.timeapi.org/eest/now | cut -d '+' -f 1 | tr -d : | tr -d - | tr -d T | cut -c 1-12)

eest di URL adalah zona waktu lokal Anda

Anda dapat menggunakan utc ... dan lain-lain

Ivaylo Mutafov
sumber
tapi yang ini berfungsi untuk saya: askubuntu.com/a/683136
user956584
0

dapatkah saya mengubah waktu sekarang di Linux?

Bagi saya, saya perlu menjalankan perintah ini terlebih dahulu:

sudo systemctl stop systemd-timesyncd

Jika tidak, systemd akan segera mengatur ulang waktu. Setelah menghentikan layanan systemd, menjalankan datepekerjaan seperti yang diharapkan:

$ sudo date -s 'january 1 1971'
Fri Jan  1 00:00:00 CET 1971
$ date
Fri Jan  1 00:00:00 CET 1971

Ketika layanan sedang berjalan, date -sperintah itu tampaknya bekerja, tetapi menjalankan datebeberapa saat kemudian akan memberi saya waktu sistemd lagi.

Luc
sumber