במדריך זה, אספר כיצד להציג יומני מערכת על לינוקס באמצעות כלי עזר שונים של שורת הפקודה.
הערה: הפקודות המוזכרות במדריך זה מבוצעות על אובונטו. הם יעבדו ללא שגיאות בכל ההפצות של לינוקס שמגיעות עם מערכת init systemd.
שיטות להצגת יומני systemctl
ישנן שתי גישות לצפייה ביומני מערכת ב-Linux:
ה-systemctl נותן את היומנים העדכניים ביותר הספציפיים לשירות, בעוד ש-journalctl נותן יומנים מעמיקים בכל המערכת של כל השירותים והשירות הספציפי.
אני אבדוק את שני כלי השירות כדי להציג יומני systemd. אבל ראשית, בואו נבין את ההבדל העיקרי בין פקודות systemctl ל-journalctl.
מה זה systemctl
Systemctl הוא תוכנית שירות שורת פקודה המנהלת שירותי מערכת, כגון הפעלה או השבתה של השירות וצפייה בסטטוס. ה מצב systemctl הפקודה גם מדפיסה כמה שורות יומן של השירות בתחתית הפלט, ויומן זה הוא לאחר האתחול האחרון. עם זאת, שורות היומן הללו של השירות הן רק לאחר האתחול הנוכחי.
מה זה journalctl
ה-journalctl הוא כלי שורת פקודה המשמש להדפסת היומנים שנאספו על ידי systemd. בהשוואה ל-systemctl, הוא מספק פלט מפורט עם אפשרויות סינון. כלי זה נועד ל:
- קריאת יומנים (יומן הישן ביותר מגיע ראשון)
- מעקב אחר יומנים
- סנן יומנים על סמך זמן, שירות או משתמש
ה-systemd אוסף יומנים מהקרנל, השירותים והדמונים ומאחסן אותם במקום מרכזי.
כיצד להציג יומן של שירות באמצעות systemctl
התחביר הכללי כדי למצוא את היומן של שירות באמצעות systemctl השירות מוזכר להלן.
מצב systemctl [ שם השירות ]לדוגמה, כדי להציג את פרטי היומן של smbd.service השתמש בפקודה המפורטת למטה.
סטטוס systemctl smbd.service
כדי לקבל פלט ללא עימוד, הוסף את -ללא איתור אפשרות בפקודה.
סטטוס systemctl smbd.service --ללא איתור
כיצד להציג יומן של שירות באמצעות journalctl
כדי להציג את היומן של שירות ספציפי של systemd, השתמש journalctl עם ה -ב שם פקודה ושירות או יחידה.
journalctl -ב [ שם השירות ]בפקודה לעיל, ה -ב דגל, קיצור של -יחידה משמש לסינון journalctl פלט לפי שם יחידה.
לדוגמה, כדי להדפיס את היומן של smbd דמון, אני אחליף את [שם היחידה] עם smbd.service .
journalctl -ב smbd.service
בפלט, ניתן לראות שהערך הישן ביותר בא ראשון ולאחר מכן יומן לאחר כל אתחול רשום.
כדי לקבל את הרשומה העדכנית ביותר שימוש ראשון -זה קיצור ל –סיום הביפר.
journalctl -ב smbd.service -זה
אם אתה רוצה להשמיט את העימוד מהפלט, פשוט הוסף את ה -ללא איתור בפקודות הנ'ל.
כדי להדפיס באופן רציף את ערכי היומן בשימוש בזמן אמת -ו קיצור ל -לעקוב אחר .
journalctl -ב smbd.service -וניתן להרחיב את הסינון עוד יותר על ידי שימוש בדגל -b הקיצור של -מַגָף , שמדפיס את היומנים על סמך האתחול הנוכחי.
journalctl -ב [ שם היחידה ] -בבואו נדפיס יומנים של smbd.service מהאתחול האחרון.
journalctl -ב smbd.service -ב
הפלט שלמעלה דומה לפלט שאנו מקבלים באמצעות מצב systemctl פקודה.
כדי לקבל סקירה מפורטת של יומן, השתמש ב- -איקס קיצור ל -קָטָלוֹג אוֹפְּצִיָה.
journalctl -ב smbd.service -איקסזה יצורף תיאור קצר של היומן.
כעת, כדי להדפיס יומנים המבוססים על זמן באמצעות journalctl יש שתי אפשרויות, -ס קיצור ל -מאז ו -IN קיצור ל -עד .
journalctl -ב [ שם היחידה ] -ס '[שנה-חודש-יום] [שעות:דקות:שניות]'לדוגמה, כדי להציג את יומני היחידה smbd מ 2024:01:30 12:05:00 .
journalctl -ב smbd.service -ס '2024:01:30 12:05:00'
סיכום
כדי להציג את יומני המערכת של שירות, ישנם שני כלי עזר עיקריים, journalctl ו-systemctl. ה-journalctl תוכנן במיוחד לצפייה ביומנים של systemd. עם זאת, ל-systemctl יש גם אפשרות להדפיס את היומן של השירות. כדי להדפיס את היומן של שימוש בשירות, journalctl -u [שם יחידה] ו systemctl [שם היחידה].