Mengoreksi Jam Sistem CentOS

11

Menggunakan fungsi waktu C (jumlah detik sejak Zaman) menunjukkan bahwa waktu pada server CentOS 6 saya saat ini adalah sekitar 7 jam di belakang dibandingkan dengan server lain dengan waktu yang tepat. Bagaimana saya bisa memperbaiki jam sistem? Saya tidak berpikir itu melayang karena saya baru saja mengatur server ini beberapa minggu yang lalu, tetapi bisa jadi. Saya mengatur ntpd tetapi tidak membantu, mungkin karena perbedaan waktu terlalu banyak.

pengguna3180
sumber
3
Periksa output dari perintah TZ=UTC date.
Michael Hampton
1
Anda benar, ntpd tidak akan memperbaiki perbedaan waktu tersebut. Agar ntpd benar-benar berfungsi, sistem Anda harus berada dalam beberapa menit dari server waktu.
fpmurphy
Sabtu 30 Nov 09:09:21 UTC 2013 adalah output yang baru saja saya dapatkan
user3180
Ya, itu tujuh jam di belakang.
Michael Hampton

Jawaban:

23

Jawaban sederhananya adalah "atur tanggal secara manual", yang perlu Anda lakukan, tetapi untuk mencegah hal ini terjadi lagi, ada lagi yang harus Anda lakukan.

  1. Pastikan bahwa konfigurasi zona waktu sistem dalam keadaan waras.

    Kecuali ada alasan yang sangat kuat untuk tidak melakukannya (seperti masalah kompatibilitas perangkat lunak), jam server harus selalu berjalan pada waktu UTC.

    Jika Anda memutuskan untuk tidak menggunakan UTC, pilih zona waktu dengan menjalankan tzselect. Zona waktu akan dicetak pada layar yang akan Anda gunakan di bawah ini. Contohnya adalah Europe/Moscow. Kalau tidak gunakan UTCsebagai zona waktu di bawah ini.

    Here is that TZ value again, this time on standard output so that you
    can use the /usr/bin/tzselect command in shell scripts:
    Europe/Moscow
    

    Atur jam sistem ke zona waktu yang Anda inginkan dengan langkah-langkah berikut:

    1. Ganti konten /etc/sysconfig/clockdengan yang berikut ini:

      ZONE="<timezone>"
      UTC=true
      

      Sebagai contoh:

      ZONE="Europe/Moscow"
      UTC=true
      

      Catatan yang UTC=trueharus ditetapkan di sini, bahkan jika Anda tidak menggunakan UTC sebagai zona waktu Anda. Ini mengacu pada jam perangkat keras server, yang harus selalu UTC terlepas dari zona waktu sistem yang Anda pilih.

    2. Ganti /etc/localtimefile dengan tautan ke zona waktu yang dipilih:

      # ln -snf /usr/share/zoneinfo/<timezone> /etc/localtime
      

      Sebagai contoh:

      # ln -snf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
      # ln -snf /usr/share/zoneinfo/UTC /etc/localtime
      
  2. Atur jam secara manual ke waktu saat ini.

    1. Sinkronkan jam sistem dengan waktu saat ini:

      # ntpd -g -q
      
    2. Pastikan waktu tampak benar:

      # date
      
    3. Sinkronkan jam perangkat keras server ke jam sistem:

      # hwclock -wu
      
  3. Nyalakan ulang komputernya. Restart diperlukan karena semua layanan sistem harus dihidupkan ulang untuk mengambil waktu dan zona waktu yang diperbaiki, dan jam perangkat keras server perlu diuji (misalnya untuk baterai yang rusak).

    Setelah restart, periksa untuk melihat bahwa sistem menunjukkan waktu yang benar dan ntpd berjalan dengan benar.

Michael Hampton
sumber
Terima kasih banyak Michael. Bagaimana saya memastikan itu benar selama pengaturan? Saya ingat memilih zona waktu yang benar, namun waktunya tetap salah.
user3180
Di installer grafis, ada kotak centang yang menyatakan "Jam sistem menggunakan UTC". Selalu biarkan ini dicentang, terlepas dari zona waktu yang Anda pilih.
Michael Hampton
0

intinya adalah, pastikan zona waktu sama dengan kotak yang Anda bandingkan

EDIT

jika TZ berbeda

/ etc / localtime

kemudian ingat untuk mempertimbangkan offset UTC saat membandingkan waktu sistem

nandoP
sumber