GNU/Linux >> Belajar Linux >  >> Linux

7 Contoh Perintah hwclock Linux untuk Mengatur Waktu Tanggal Jam Perangkat Keras

Jam yang dikelola oleh kernel Linux tidak sama dengan jam perangkat keras.

Jam perangkat keras tetap berjalan bahkan saat Anda mematikan sistem.

Jam perangkat keras juga disebut sebagai jam BIOS. Anda dapat mengubah tanggal dan waktu jam perangkat keras dari BIOS.

Namun, saat sistem aktif dan berjalan, Anda masih dapat melihat dan menyetel tanggal dan waktu perangkat keras menggunakan perintah hwclock Linux seperti yang dijelaskan dalam tutorial ini.

1. Tampilkan Tanggal dan Waktu Jam Perangkat Keras

Cukup ketik hwclock, yang akan menampilkan tanggal dan waktu jam perangkat keras sistem Anda. Ini adalah tanggal dan waktu yang sama yang akan Anda lihat dari layar BIOS. Anda juga dapat menggunakan opsi -r, atau –show untuk menampilkan tanggal dan waktu.

# hwclock
Sat 10 Aug 2013 08:26:12 AM PDT  -0.312862 seconds

# hwclock -r
Sat 10 Aug 2013 08:20:54 AM PDT  -0.109748 seconds

# hwclock --show
Sat 10 Aug 2013 08:21:12 AM PDT  -0.640982 seconds

Catatan:Output dari perintah date mungkin sama dengan output dari perintah hwclock (sebenarnya harus sama). Tapi, perintah date mendapatkan tanggal dan waktu dari jam yang dikelola dari kernel Linux. Ini dalam contoh, ada perbedaan sekitar 10 menit di antara mereka.

# date
Sat Aug 10 08:11:21 PDT 2013

2. Salin Waktu Sistem ke Waktu Perangkat Keras

Anda benar-benar ingin memastikan jam perangkat keras Anda memiliki tanggal dan waktu yang sama dengan jam sistem.

Seperti yang Anda lihat saat ini, ada perbedaan antara jam sistem dan waktu jam perangkat keras.

# date
Sat Aug 10 08:16:17 PDT 2013

# hwclock
Sat 10 Aug 2013 08:26:53 AM PDT  -0.687841 seconds

Jadi, gunakan perintah hwclock seperti yang ditunjukkan di bawah ini untuk mengatur jam perangkat keras sama dengan jam sistem. Ini adalah penggunaan khas dari perintah hwclock.

# hwclock -w

# hwclock
Sat 10 Aug 2013 08:16:27 AM PDT  -0.625382 seconds

# date
Sat Aug 10 08:16:28 PDT 2013

Catatan:Opsi -w dan –systohc melakukan hal yang sama. Saya suka menggunakan –systohc karena mudah diingat. –systohc adalah singkatan dari “system to hardware clock”, yang menyalin waktu dari sistem ke jam perangkat keras.

# hwclock --systohc

3. Setel Tanggal dan Waktu Jam Perangkat Keras Secara Manual

Alih-alih menyalin tanggal dan waktu sistem ke jam perangkat keras, Anda juga dapat mengatur nilainya secara manual menggunakan opsi –set dan –date seperti yang ditunjukkan di bawah ini.

Berikut ini akan menyetel tanggal menjadi 11 Agustus 2013. Harap perhatikan bahwa jika Anda tidak menentukan waktu, itu akan disetel ke 12:00:00.

# hwclock --set --date 8/11/2013

# hwclock
Sun 11 Aug 2013 12:00:04 AM PDT  -0.703489 seconds

Anda juga dapat mengatur tanggal dan waktu secara bersamaan seperti yang ditunjukkan di bawah ini. Harap dicatat bahwa ini akan menggunakan waktu lokal secara default.

# hwclock --set --date "8/11/2013 23:10:45"

# hwclock
Sun 11 Aug 2013 11:10:48 PM PDT  -0.562862 seconds

Anda juga dapat mengambil output dari perintah date, dan meneruskannya ke opsi –set dan –date seperti yang ditunjukkan di bawah ini.

# hwclock --set --date "Sat Aug 10 08:31:24 PDT 2013"

# hwclock
Sat 10 Aug 2013 08:31:28 AM PDT  -0.594118 seconds

4. Salin Waktu Perangkat Keras ke Waktu Sistem

Ketika jam perangkat keras Anda menunjukkan tanggal dan waktu yang benar, tetapi bukan jam sistem Anda, Anda dapat menggunakan opsi -s seperti yang ditunjukkan di bawah ini untuk menyalin waktu perangkat keras ke waktu sistem seperti yang ditunjukkan di bawah ini.

# hwclock
Sat 10 Aug 2013 08:20:28 AM PDT  -0.687872 seconds

# date
Sat Aug 10 08:34:48 PDT 2013

# hwclock -s

# date
Sat Aug 10 08:20:55 PDT 2013

Catatan:Opsi -s dan –hctosys melakukan hal yang sama. Saya suka menggunakan –hctosys karena mudah diingat. –hctosys adalah singkatan dari “hardware clock to system”, yang menyalin waktu dari jam perangkat keras ke jam sistem.

# hwclock -hctosys

Saat menguji ini, jika Anda telah mengacaukan waktu sistem Anda, Anda dapat menggunakan contoh perintah tanggal untuk menyetelnya ke tanggal dan waktu yang benar.

5. hwclock Mode Debug

Saat Anda meneruskan opsi –debug ke hwclock, ini akan menampilkan beberapa informasi debug, yang menunjukkan dengan tepat apa yang dilakukan perintah hwclock.

Berikut ini menunjukkan dengan tepat apa yang dilakukannya saat kita menyalin waktu sistem ke waktu perangkat keras.

# hwclock --systohc --debug
hwclock from util-linux-ng 2.17.2
Using /dev interface to clock.
Last drift adjustment done at 1375974983 seconds after 1969
Last calibration done at 1375974983 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2013/08/10 15:16:37
Hw clock time : 2013/08/10 15:16:37 = 1375974997 seconds since 1969
Time elapsed since reference time has been 0.009002 seconds.
Delaying further to reach the new time.
Setting Hardware Clock to 15:16:37 = 1375974997 seconds since 1969
ioctl(RTC_SET_TIME) was successful.
Not adjusting drift factor because it has been less than a day since the last calibration.

Berikut ini menunjukkan dengan tepat apa yang dilakukannya saat kita menyalin waktu perangkat keras ke waktu sistem.

# hwclock -hctosys --debug
hwclock from util-linux-ng 2.17.2
Using /dev interface to clock.
Last drift adjustment done at 1375975224 seconds after 1969
Last calibration done at 1375975224 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2013/08/10 15:23:20
Hw clock time : 2013/08/10 15:23:20 = 1375975400 seconds since 1969
Calling settimeofday:
        tv.tv_sec = 1375975400, tv.tv_usec = 0
        tz.tz_minuteswest = 420

Catatan:Pada mesin alpha Anda dapat menggunakan getepoch untuk melihat epoch, setepoch untuk mengatur epoch. Saat Anda mencoba menjalankan ini di mesin Alpha, Anda akan mendapatkan mesin kesalahan berikut.

# hwclock --setepoch --epoch=1952
The kernel keeps an epoch value for the Hardware Clock only on an Alpha machine.
This copy of hwclock was built for a machine other than Alpha
(and thus is presumably not running on an Alpha now).  No action taken.

6. Sesuaikan Jam Perangkat Keras

Ketika sistem dimulai, dibutuhkan waktu dari jam perangkat keras. File /etc/adjtime digunakan oleh opsi hwclock –adjust untuk mengontrol penyesuaian.

# hwclock --adjust

File /etc/adjtime memiliki tiga baris berikut.

# cat /etc/adjtime
-3.019877 1375975224 0.000000
1375975224
UTC
  • Tiga nilai di baris pertama mewakili 1) laju penyimpangan sistematis dalam detik per hari, 2) jumlah detik sejak 1969 UTC dari penyesuaian baru-baru ini 3) hanya 0
  • Baris 2 adalah nilai yang sama dengan yang Anda lihat di baris pertama, nilai kedua. yaitu jumlah detik sejak 1969 UTC dari penyesuaian terakhir
  • Baris 3 akan mengatakan UTC atau LOKAL

7. Mode Uji hwclock

Saat Anda mengubah sesuatu menggunakan hwclock, menggunakan opsi –test, Anda dapat menjalankan perintah tanpa benar-benar membuat perubahan apa pun.

Opsi –systz akan mengubah zona waktu sistem yang sesuai. Namun, karena kami memberikan –test, itu tidak akan benar-benar membuat perubahan, tetapi akan tetap menjalankan perintah tanpa masalah.

# hwclock --systz --test
Not setting system clock because running in test mode.

Penggunaan mode uji terbaik adalah ketika Anda menggabungkannya dengan opsi debug. Yaitu Ketika Anda ingin melihat apa yang dilakukan perintah hwclock, tetapi tanpa membuat perubahan apa pun.

# hwclock --systz --test --debug
hwclock from util-linux-ng 2.17.2
Last drift adjustment done at 1375975224 seconds after 1969
Last calibration done at 1375975224 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Current system time: 1375975586 = 2013/08/10 15:26:26
Calling settimeofday:
        UTC: 2013/08/10 15:26:26
        tv.tv_sec = 1375975586, tv.tv_usec = 556277
        tz.tz_minuteswest = 420
Not setting system clock because running in test mode.

Berikut ini menunjukkan dengan tepat apa yang dilakukan opsi –adjust tanpa benar-benar melakukan penyesuaian apa pun.

# hwclock --adjust --test --debug
hwclock from util-linux-ng 2.17.2
Using /dev interface to clock.
Last drift adjustment done at 1375975224 seconds after 1969
Last calibration done at 1375975224 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2013/08/10 15:30:35
Hw clock time : 2013/08/10 15:30:35 = 1375975835 seconds since 1969
Time since last adjustment is 611 seconds
Need to insert -1 seconds and refer time back 0.978644 seconds ago
Needed adjustment is less than one second, so not setting clock.

Linux
  1. 8 Contoh Perintah Tanggal Cepat di Linux

  2. 7 Contoh Perintah Linux df

  3. Contoh Perintah timedatectl di Linux

  1. Contoh Perintah Waktu Linux

  2. 8 Contoh Perintah Linux TR

  3. Linux:tetapkan tanggal melalui baris perintah

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

  2. Contoh Perintah hwclock di Linux

  3. tanggal Contoh Perintah di Linux