הפקודה 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, כמו גם את שרתי הסקר מרחוק לקבלת מידע בזמן. כדי ללמוד עוד על הפקודה, עבור לראש הדף שלו.