Η εντολή timedatectl στο Linux σάς επιτρέπει να κάνετε ερώτηση και να αλλάξετε το ρολόι του συστήματος και τις ρυθμίσεις του. Έρχεται ως μέρος του systemd, αντικατάσταση του daemon sysvinit που χρησιμοποιείται στα συστήματα GNU / Linux και Unix.

Σε αυτό το άρθρο, θα συζητήσουμε αυτή την εντολή και τα χαρακτηριστικά που παρέχει χρησιμοποιώντας σχετικά παραδείγματα.

Παραδείγματα χρονικού διαστήματος

Σημείωση - Όλα τα παραδείγματα που περιγράφονται σε αυτό το άρθρο ελέγχονται σε GNU bash έκδοση 4.3.11 (1).

Εμφάνιση πληροφοριών ημερομηνίας / ώρας συστήματος

Απλά εκτελέστε την εντολή χωρίς επιλογές ή σημαίες γραμμής εντολών και σας δίνει πληροφορίες σχετικά με την τρέχουσα ημερομηνία και ώρα του συστήματος, καθώς και τις ρυθμίσεις που σχετίζονται με το χρόνο. Για παράδειγμα, εδώ είναι η έξοδος όταν εκτέλεσα την εντολή στο σύστημά μου:

 $ timedatectl Τοπική ώρα: Sat 2014-11-08 05:46:40 IST Καθολική ώρα: Sat 2014-11-08 00:16:40 UTC Χρονική ζώνη: Ασία / Καλκούτα (IST, +0530) Ενεργοποιημένη NTP: Ναι συγχρονισμένη NTP: ναι RTC σε τοπικό TZ: όχι DST ενεργό: n / a 

Έτσι μπορείτε να δείτε ότι η έξοδος περιέχει πληροφορίες σχετικά με το LTC, UTC και τη ζώνη ώρας, καθώς και τις ρυθμίσεις που σχετίζονται με το NTP, το RTC και το DST για το localhost.

Ενημερώστε την ημερομηνία ή την ώρα του συστήματος χρησιμοποιώντας την επιλογή ορισμού χρόνου

Για να ρυθμίσετε το ρολόι συστήματος σε μια συγκεκριμένη ημερομηνία ή ώρα, χρησιμοποιήστε την επιλογή ορισμού set-time που ακολουθείται από μια συμβολοσειρά που περιέχει τις νέες πληροφορίες ημερομηνίας / ώρας. Για παράδειγμα, για να αλλάξετε το χρόνο του συστήματος σε 6:40 π.μ., χρησιμοποίησα την ακόλουθη εντολή:

 $ sudo timedatectl set-time "2014-11-08 06:40:00" 

και εδώ είναι η έξοδος:

 $ timedatectl Τοπική ώρα: Sat 2014-11-08 06:40:02 IST Καθολική ώρα: Sat 2014-11-08 01:10:02 UTC Χρονική ζώνη: Ασία / Καλκούτα (IST, +0530) Ενεργοποιημένη NTP: Ναι συγχρονισμένη NTP: όχι RTC σε τοπικό TZ: όχι DST ενεργό: n / a 

Παρατηρήστε ότι το τοπικό πεδίο ώρας εμφανίζει τώρα την ενημερωμένη ώρα. Ομοίως, μπορείτε επίσης να ενημερώσετε την ημερομηνία συστήματος.

Ενημερώστε τη ζώνη ώρας του συστήματος χρησιμοποιώντας την επιλογή ζώνης ώρας ρύθμισης

Για να ρυθμίσετε τη ζώνη ώρας του συστήματος στην καθορισμένη τιμή, μπορείτε να χρησιμοποιήσετε την επιλογή set-timezone ακολουθούμενη από την τιμή ζώνης ώρας. Για να σας βοηθήσει με την εργασία, η εντολή timedatectl παρέχει επίσης μια άλλη χρήσιμη επιλογή. list-timezones σας παρέχει μια λίστα με τις διαθέσιμες ζώνες ώρας για να διαλέξετε.

Για παράδειγμα, εδώ είναι ο κύλινδρος των χρονικών ζωνών με δυνατότητα κύλισης η εντολή timedatectl παράγεται στο σύστημά μου:

Για να αλλάξετε την τρέχουσα ζώνη ώρας του συστήματος από την Ασία / Καλκούτα στην Ασία / Κατμαντού, εδώ είναι η εντολή που χρησιμοποίησα:

 $ timedatectl set-timezone Ασία / Κατμαντού 

και για να επαληθεύσετε την αλλαγή, εδώ είναι η έξοδος της εντολής timedatectl :

 $ timedatectl Τοπική ώρα: Sat 2014-11-08 07:11:23 NPT Καθολική ώρα: Δευτ. 2014-11-08 01:26:23 UTC Χρονική ζώνη: Ασία / Κατμαντού (NPT, +0545) Ενεργοποιημένη NTP: Ναι συγχρονισμένη NTP: όχι RTC σε τοπικό TZ: όχι DST ενεργό: n / a 

Μπορείτε να δείτε ότι η ζώνη ώρας άλλαξε στη νέα τιμή.

Ρυθμίστε το RTC

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή timedatectl για να ρυθμίσετε το RTC (ρολόι πραγματικού χρόνου). Για όσους δεν γνωρίζουν, το RTC είναι ένα ρολόι υπολογιστή που τροφοδοτείται με μπαταρία και παρακολουθεί το χρόνο ακόμα και όταν το σύστημα είναι απενεργοποιημένο. Η εντολή timedatectl προσφέρει μια επιλογή set-local-rtc που μπορεί να χρησιμοποιηθεί για τη διατήρηση του RTC είτε σε τοπική ώρα είτε σε παγκόσμια ώρα.

Αυτή η επιλογή απαιτεί boolean argument. Εάν παρέχεται 0, το σύστημα έχει ρυθμιστεί ώστε να διατηρεί το RTC σε καθολική ώρα:

 $ timedatectl set-τοπικό-rtc 0 

αλλά στην περίπτωση 1 παρέχεται, θα διατηρήσει το RTC σε τοπική ώρα αντ 'αυτού.

 $ timedatectl set-local-rtc 1 

Μια προειδοποίηση : Η συντήρηση του RTC στην τοπική ζώνη ώρας δεν υποστηρίζεται πλήρως και θα δημιουργήσει διάφορα προβλήματα με τις αλλαγές ζώνης ώρας και τις ρυθμίσεις θερινής ώρας. Εάν είναι δυνατόν, χρησιμοποιήστε RTC σε UTC.

Ένα άλλο σημείο που αξίζει να σημειωθεί είναι ότι αν ονομάζεται set-local-rtc και έχει περάσει η επιλογή --adjust-system-clock, το ρολόι του συστήματος συγχρονίζεται ξανά από το RTC, λαμβάνοντας υπόψη τη νέα ρύθμιση. Διαφορετικά, το RTC συγχρονίζεται από το ρολόι συστήματος.

Ρυθμίστε τον συγχρονισμό χρόνου δικτύου που βασίζεται σε NTP

Το πρωτόκολλο NTP ή Network Time Protocol (πρωτόκολλο χρόνου δικτύου) είναι ένα πρωτόκολλο δικτύωσης για συγχρονισμό ρολογιού μεταξύ συστημάτων υπολογιστών μέσω δικτύων δεδομένων μεταγωγής πακέτων και μεταβλητής καθυστέρησης. Σκοπός του είναι να συγχρονίσει όλους τους συμμετέχοντες υπολογιστές μέσα σε λίγα χιλιοστά του δευτερολέπτου της UTC.

Η εντολή timedatectl παρέχει μια επιλογή set-ntp που ελέγχει εάν είναι ενεργοποιημένο το συγχρονισμό χρόνου δικτύου που βασίζεται στο NTP. Αυτή η επιλογή αναμένει ένα επιχείρημα boolean. Για να ενεργοποιήσετε το συγχρονισμό χρόνου βάσει NTP, εκτελέστε την ακόλουθη εντολή:

 $ timedatectl set-ntp true 

Για να απενεργοποιήσετε, εκτελέστε:

 $ timedatectl set-ntp false 

συμπέρασμα

Όπως προκύπτει από τα παραδείγματα που περιγράφηκαν παραπάνω, η εντολή timedatectl είναι ένα εύχρηστο εργαλείο για τους διαχειριστές συστημάτων που μπορούν να το χρησιμοποιήσουν για να ρυθμίσουν διάφορα ρολόγια συστήματος και διαμορφώσεις RTC, καθώς και απομακρυσμένους διακομιστές δημοσκόπησης για πληροφορίες χρόνου. Για να μάθετε περισσότερα σχετικά με την εντολή, κατευθυνθείτε προς τη σελίδα του ανθρώπου.