מאסטרינג את שורת הפקודה: השתמש timedatectl כדי לשלוט על זמן מערכת ותאריך לינוקס
הפקודה timedatectl
ב- Linux מאפשרת לך לבצע שאילתות ולשנות את שעון המערכת ואת ההגדרות שלו. זה מגיע כחלק systemd, תחליף daemon sysvinit בשימוש במערכות גנו / לינוקס ו- Unix.
במאמר זה נדון בפקודה זו ובמאפיינים שהיא מספקת באמצעות דוגמאות רלוונטיות.
דוגמאות Timedatectl
הערה - כל הדוגמאות המתוארות במאמר זה נבדקות על GNU bash, גרסה 4.3.11 (1).
הצגת נתוני תאריך / שעה של המערכת
כל שעליך לעשות הוא להפעיל את הפקודה ללא אפשרויות שורת פקודה או דגלים, וזה נותן לך מידע על התאריך והשעה הנוכחיים של המערכת, כמו גם הגדרות הקשורות זמן. לדוגמה, הנה פלט כאשר אני להורג את הפקודה על המערכת שלי:
$ timeedatectl זמן מקומי: 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 זמן מוגדר "2014-11-08 06:40:00"
והנה הפלט:
$ timeedatectl זמן מקומי: 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
כדי להגדיר את אזור הזמן של המערכת לערך שצוין, באפשרותך להשתמש באפשרות set-timezone
ולאחר מכן את ערך אזור הזמן. כדי לעזור לך עם המשימה, הפקודה timedatectl
מספקת גם אפשרות שימושית נוספת. list-timezones
מספק לך רשימה של אזורי זמן זמינים לבחירה.
לדוגמה, הנה הרשימה הגלילה של אזורי זמן הפקודה timedatectl
המיוצר על המערכת שלי:
כדי לשנות את אזור הזמן הנוכחי של המערכת מאסיה / קולקטה לאסיה / קטמנדו, הנה הפקודה שבה השתמשתי:
$ timeedatectl set-timezone אסיה / קטמנדו
וכדי לאמת את השינוי, הנה הפלט של הפקודה timedatectl
:
$ 09-11-08 01:26:23 UTC אזור זמן: אסיה / קטמנדו (NPT, +0545) NTP מופעל: כן NTP מסונכרן: לא RTC ב TZ המקומי: לא DST פעיל: n / a
ניתן לראות שאזור הזמן שונה לערך החדש.
הגדר RTC
ניתן גם להשתמש בפקודה timedatectl
כדי להגדיר RTC (שעון בזמן אמת). עבור אלה שאינם מודעים, RTC הוא שעון מחשב המופעל באמצעות סוללות, אשר עוקב אחר הזמן גם כאשר המערכת מכובה. הפקודה timedatectl
מציעה אפשרות set-local-rtc
, שניתן להשתמש בה לשמירה על RTC בזמן המקומי או בזמן אוניברסלי.
אפשרות זו דורשת טענה בוליאנית. אם 0 מסופק, המערכת מוגדרת לשמירה על RTC בזמן אוניברסלי:
$ timedatectl set-local-rtc 0
אבל במקרה 1 מסופק, זה יהיה לשמור על RTC במקום המקומי במקום.
$ timedatectl set-local-rtc 1
מילת אזהרה : שמירה על RTC באזור הזמן המקומי אינה נתמכת במלואה ותיצור בעיות שונות עם שינויים באזורי זמן והתאמות של שמירת שעון קיץ. אם בכלל אפשרי, השתמש ב- RTC ב- UTC.
נקודה נוספת שראוי לציין היא כי אם set-local-rtc
מופעלת --adjust-system-clock
מועברת, שעון המערכת מסונכרן מה- RTC שוב, תוך התחשבות בהגדרה החדשה. אחרת, ה- RTC מסונכרן משעון המערכת.
הגדר סינכרון זמן רשת המבוסס על NTP
NTP, או פרוטוקול זמן רשת, הוא פרוטוקול רשת לסינכרון שעון בין מערכות מחשב על גבי רשתות נתונים המשתנות בחבילת מנות, משתנה. זה נועד לסנכרן את כל המחשבים המשתתפים לתוך בתוך כמה אלפיות השנייה של UTC.
הפקודה timedatectl
מספקת אפשרות set-ntp
השולטת אם סינכרון זמן רשת מבוסס NTP מופעל. אפשרות זו מצפה לוויכוח בוליאני. כדי להפעיל סינכרון זמן המבוסס על NTP, הפעל את הפקודה הבאה:
$ timedatectl set-ntp true
כדי להשבית, הפעל:
$ timedatectl set-ntp false
סיכום
כפי שניתן לראות מהדוגמאות שתוארו לעיל, הפקודה timedatectl
היא כלי שימושי למנהלי מערכת שיכולים להשתמש בו כדי להתאים את שעוני המערכת השונים ואת תצורות ה- RTC, כמו גם את שרתי הסקר מרחוק לקבלת מידע בזמן. כדי ללמוד עוד על הפקודה, עבור לראש הדף שלו.