GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengatur Tanggal dan Waktu Di Linux

Tutorial ini berfokus pada teknik menyetel tanggal dan waktu di Linux menggunakan timedatectl, NTP atau date.

Sebagai administrator sistem, Anda mungkin diminta untuk menyetel tanggal sistem di beberapa server .

Mereka mungkin dikonfigurasi dengan buruk atau zona waktu their mungkin tidak dikonfigurasi dengan benar.

Akibatnya, beberapa program Anda mungkin mencatat tanggal yang tidak valid, yang menyebabkan tidak dapat memeriksa beberapa log server Anda misalnya.

Dalam tutorial ini, kita akan melihat bagaimana Anda dapat mengatur tanggal dengan benar di Linux agar sesuai dengan zona waktu geografis Anda saat ini.

Pertama, kita akan melihat perintah timedatectl dengan opsi systemd-timesync . Selanjutnya, kita akan menginstal kroni atau NTP layanan untuk menyinkronkan tanggal sistem kami secara efisien.

Terakhir, kita akan menggunakan “tanggal ” perintah untuk mengatur tanggal sistem kita secara statis.

Kami juga akan membahas perbedaan antara metode tersebut dan metode mana yang sebaiknya Anda gunakan.

Prasyarat

Sebelum memulai, Anda harus memiliki hak istimewa sudo di host Anda untuk melakukan beberapa perintah.

Untuk memastikannya, Anda dapat menjalankan perintah berikut

$ sudo -l

User user may run the following commands on localhost:
   (ALL) ALL

Jika Anda tidak memiliki hak sudo di akun Anda, ikuti tutorial ini untuk mendapatkan sudo di sistem berbasis Debian, atau di sistem berbasis Red Hat (CentOS, RHEL)

Tetapkan tanggal di Linux menggunakan timedatectl

Baik Anda bekerja di Debian/Ubuntu atau di RHEL/CentOS, cara menyetel tanggalnya sama.

Untuk menyetel tanggal, Anda perlu menyetel informasi zona waktu dan (opsional) mengaktifkan protokol NTP agar sistem Anda dapat menyinkronkan dengan server NTP. Jika Anda tidak menggunakan protokol NTP (dengan ntpd atau chrony), sistem Anda akan menggunakan layanan sinkronisasi waktu secara default.

Jika zona waktu Anda tidak dikonfigurasi dengan baik, Anda perlu mengubah informasi zona waktu Anda.

Untuk melihat zona waktu Anda saat ini di Linux, Anda dapat menjalankan perintah timedatectl.

$ timedatectl

                      Local time: Wed 2019-10-16 22:26:23 UTC
                  Universal time: Wed 2019-10-16 22:26:23 UTC
                        RTC time: Wed 2019-10-16 22:26:24
                       Time zone: Etc/UTC (UTC, +0000)
       System clock synchronized: no
systemd-timesyncd.service active: inactive
                 RTC in local TZ: no

Katakanlah Anda ingin memodifikasinya.

Untuk membuat daftar zona waktu di Linux, gunakan “daftar-zona waktu ” opsi dengan timedatectl .

$ timedatectl list-timezones

Seperti yang Anda lihat, zona waktu disajikan menggunakan sintaks berikut:benua/wilayah .

Untuk menyetel zona waktu ke New York, Anda dapat menelusurinya dengan mudah menggunakan grep.

$ timedatectl list-timezones | grep York
America/New_York

Untuk menyetel zona waktu, gunakan "set-zona waktu ” perintah.

$ timedatectl set-timezone America/New_York

Untuk memeriksa tanggal sistem Anda saat ini, Anda harus menjalankan perintah timedatectl lagi.

$ timedatectl

                      Local time: Wed 2019-10-16 18:35:36 EDT
                  Universal time: Wed 2019-10-16 22:35:36 UTC
                        RTC time: Wed 2019-10-16 22:35:36
                       Time zone: America/New_York (EDT, -0400)
       System clock synchronized: no
systemd-timesyncd.service active: inactive
                 RTC in local TZ: no

Namun, tanggal Anda saat ini belum disinkronkan, Anda harus mengaktifkan layanan NTP untuk menyinkronkannya.

Secara default, jika Anda bekerja dengan distribusi dengan systemd, Anda harus memiliki daemon systemd-timesync secara default.

Perbedaan utama antara systemd-timesync dan NTP adalah bahwa daemon hanya mengimplementasikan sisi klien dan tidak menggunakan mekanisme kompleks seperti NTP.

Untuk mengaktifkan sinkronisasi waktu , cukup jalankan perintah ini.

$ timedatectl set-ntp true

systemd-timesyncd.service active: true

Jika Anda lebih suka menggunakan kroni atau NTP , bagian berikutnya menjelaskan cara menyetel NTP dan kronis untuk menyinkronkan tanggal sistem Anda.

Setel tanggal di Linux menggunakan chrony (NTP)

Cara paling akurat untuk menyetel tanggal di Linux adalah dengan menggunakan protokol ntp .

Sebagai pengingat cepat, protokol NTP digunakan untuk menyinkronkan waktu antara server yang berbeda melalui jaringan.

Anda akan menggunakan server waktu referensi yang akan disinkronkan ke server Anda sendiri dengan menghitung latensi untuk menghubungi server referensi.

Dengan menggunakan protokol NTP, Anda akan dapat memiliki tanggal yang sangat tepat di Linux .

Untuk menyetel tanggal, Anda akan menggunakan kroni layanan.

Pertama-tama, pastikan layanan timesyncd tidak berjalan di host Anda.

$ sudo systemctl stop systemd-timesyncd.service

Selanjutnya, pastikan paket Anda sudah diperbarui di server Anda.

$ sudo yum update

Kemudian, instal paket chrony menggunakan YUM.

$ sudo yum install chrony           [RHEL, CentOS]
$ sudo apt-get install chrony       [Debian, Ubuntu]

Dalam kebanyakan kasus, layanan chrony mungkin diinstal secara default pada distribusi Anda.

Untuk mengaktifkan dan memulai layanan chrony, Anda harus menjalankan perintah berikut.

$ sudo systemctl enable chronyd
$ sudo systemctl start chronyd

Verifikasi status layanan Anda dengan perintah status.

$ sudo systemctl status chronyd

Sekarang setelah chrony terinstal di sistem Anda, Anda dapat mengubah tanggal sistem dengan menyesuaikan zona waktu sistem Anda.

Perhatikan bahwa Anda tidak perlu mengatur aktivasi protokol NTP untuk perintah timedatectl karena memulai kroni akan secara otomatis menonaktifkan daemon systemd-timesync untuk menggunakan NTP.

Jika Anda ingin memastikannya, Anda masih dapat menjalankan perintah berikut.

$ timedatectl set-ntp true

Jalankan kembali perintah timedatectl untuk memastikan semuanya tersinkronisasi.

$ timedatectl

                      Local time: Wed 2019-10-17 18:37:37 EDT
                  Universal time: Wed 2019-10-16 22:37:37 UTC
                        RTC time: Wed 2019-10-16 22:37:33
                       Time zone: America/New_York (EDT, -0400)
       System clock synchronized: yes
       NTP service: active
                 RTC in local TZ: no

Catatan :alih-alih memiliki “layanan NTP”, Anda masih dapat menyetel label “systemd-timesyncd.service aktif” ke ya. Ini tidak berarti bahwa layanan tersebut aktif, tetapi itu berarti bahwa host menggunakan chrony sebagai cara untuk melakukan sinkronisasi.

Selain itu, Anda dapat menjalankan “tanggal ” untuk memeriksa tanggal sistem Anda saat ini.

$ date 
Thu Oct 17 13:16:10 EDT 2019

Luar biasa!

Anda telah berhasil menetapkan tanggal Anda di Linux (CentOS/RHEL) menggunakan chrony.

Tetapkan tanggal di Linux menggunakan ntpd (NTP)

Seperti yang dijelaskan sebelumnya, menggunakan protokol NTP mungkin merupakan cara paling akurat untuk menyetel tanggal Anda di Ubuntu dan Debian.

Pertama-tama, Anda akan menginstal layanan ntp di host Anda .

Untuk menginstal klien NTP, cukup jalankan perintah berikut.

$ sudo apt-get install ntp     [Debian, Ubuntu]
$ sudo yum install ntp         [CentOS, RHEL]

Secara default, menjalankan perintah ini akan menginstal dan mengaktifkan NTP (Network Time Service ) layanan di host Anda.

Untuk memastikannya, dapatkan status layanan NTP.

$ sudo systemctl status ntp

Secara default, menjalankan atau memulai ulang layanan NTP tidak akan mengaktifkan layanan NTP untuk perintah timedatectl.

Untuk mengaktifkan sinkronisasi NTP, tentukan “set-ntp ” pilihan.

$ timedatectl set-ntp true

Sekali lagi, jalankan perintah timedatectl sederhana untuk memastikan semuanya berjalan dengan benar.

$ timedatectl

                      Local time: Wed 2019-10-17 18:37:37 EDT
                  Universal time: Wed 2019-10-16 22:37:37 UTC
                        RTC time: Wed 2019-10-16 22:37:33
                       Time zone: America/New_York (EDT, -0400)
       System clock synchronized: yes
       systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Luar biasa !

Anda telah menetapkan tanggal di Linux dengan benar menggunakan ntp .

Setel tanggal di Linux menggunakan perintah tanggal

Salah satu cara untuk mengatur tanggal di Linux adalah dengan menggunakan perintah tanggal.

Salah satu kelemahan utama dari pendekatan ini adalah kenyataan bahwa Anda tidak akan pernah setepat pengaturan zona waktu dan menyinkronkannya dengan timesyncd atau chronyd.

Namun, masih mungkin untuk melakukannya dengan cara ini.

Pertama-tama, nonaktifkan sinkronisasi waktu pada host Anda, jika tidak, perubahan tanggal manual Anda akan dihapus setiap kali oleh layanan sinkronisasi.

$ sudo timedatectl set-ntp false

Untuk menyetel tanggal, gunakan “tanggal” dengan opsi “-s”.

$ date -s <date>

Misalnya, menggunakan format yyyy-MM-dd , Anda dapat mengatur tanggal dengan cara ini.

$ date -s '2019-10-17 12:00:00'
Thu Oct 17 12:00:03 EDT 2019

$ date -s '23 October 2019 12:00:00'
Wed Oct 23 12:00:00 EDT 2019

Anda juga dapat menggunakan pintasan untuk mengatur tanggal dengan mudah.

Jika Anda hanya ingin mengubah tahun, Anda dapat menggunakan "tahun depan ” atau “tahun lalu ” jalan pintas.

$ sudo date -s "next year"
Sat Oct 17 12:02:21 EDT 2020

$ sudo date -s "last year"
Thu Oct 17 12:02:43 EDT 2018

Anda juga dapat memilih untuk hanya mengubah bulan, atau hari dengan pintasan berikut.

$ sudo date -s "next day"
Tue Oct 18 00:00:12 EDT 2019

$ sudo date -s "monday"
Mon Oct 21 00:00:00 EDT 2019

$ sudo date -s "next hour"
Wed Oct 21 13:00:19 EDT 2019

Sinkronkan jam perangkat keras Anda dengan tanggal sistem Anda

Sebelum melanjutkan tugas administrasi sistem harian Anda, ada baiknya menyinkronkan jam perangkat keras dengan tanggal sistem Anda.

Dengan cara ini, Anda memastikan bahwa kedua jam Anda tidak menampilkan tanggal dan jam yang berbeda.

Untuk menyinkronkan jam perangkat keras Anda dengan tanggal sistem Anda, gunakan perintah “hwclock” dengan opsi “–systohc”.

$ sudo hwclock --systohc

$ sudo hwclock
2019-10-23 13:03:56.466724-0400

Bagus!

Anda telah berhasil menyinkronkan jam perangkat keras Anda dengan tanggal sistem Anda saat ini.

Kesimpulan

Dalam tutorial hari ini, Anda telah mempelajari cara mengatur tanggal dengan mudah di sistem Linux apa pun.

Anda mengetahui bahwa Anda dapat menyetel zona waktu dan biarkan daemon systemd-timesyncd melakukan sinkronisasi waktu.

Jika Anda mencari teknik sinkronisasi waktu yang lebih tepat dan efisien, Anda mengetahui bahwa Anda dapat menggunakan kroni atau NTP untuk mencapai hasil ini.

Anda juga melihat bahwa dimungkinkan untuk menyetel tanggal secara statis menggunakan perintah tanggal.

Jika Anda tertarik dengan administrasi sistem Linux , kami memiliki banyak tutorial tentang masalah ini.


Linux
  1. Cara Mengatur Zona Waktu dan Menyinkronkan Waktu Server dengan NTP di Linux

  2. 7 Contoh Perintah Tanggal Linux untuk Menampilkan dan Mengatur Waktu Tanggal Sistem

  3. Tetapkan tanggal dan waktu Sistem menggunakan C++ di Linux

  1. Cara Mengatur atau Mengubah Zona Waktu di Linux

  2. Atur tanggal, waktu, dan zona waktu di server Linux

  3. Cara Melihat Tanggal dan Waktu Reboot Sistem Linux

  1. Cara menyetel tanggal dan waktu di AlmaLinux

  2. Cara Mengatur dan Mendaftar Variabel Lingkungan di Linux

  3. Bagaimana cara mengatur Debian untuk memperbarui waktu dan tanggal secara otomatis?