ה-logrotate הוא כלי שורת פקודה של לינוקס לניהול ערכי היומן. כלי זה עוזר לבצע סוגים שונים של משימות על ערכי יומן על ידי מנהל המערכת כגון הגבלת קובצי היומן המסובבים, דחיסת קובצי היומן המסובבים, מחיקת קבצי היומן המיותרים, ביצוע סקריפט המעטפת המסוים על סמך קובצי היומן וכו'. השימושים של הפקודה 'logrorate' לניהול קובצי היומן בדרכים שונות מוצגות במדריך זה תוך שימוש במספר דוגמאות.
בדוק את גרסת Logrotate המותקנת
הפקודה 'logrotate' מותקנת כברירת מחדל בגרסה החדשה של מערכת ההפעלה אובונטו. הפעל את הפקודה הבאה כדי לבדוק את הגרסה המותקנת של הפקודה 'logrotate':
$ לורוטוט --גִרְסָה
ערכי היומן של היישומים השונים מאוחסנים בתיקייה '/var/log' כברירת מחדל. התוכן הדומה הבא יופיע אם תבדוק את תוכן התיקיה.
$ ls / היה / עֵץ
הגדר את תצורת 'Logrotate'.
הגדרת ערך | מַטָרָה |
יומי/שבועי/חודשי/שנתי | זה מגדיר את משך הזמן לסובב את היומנים. |
לסובב מספר | הוא מגדיר את מספר הקבצים שיישמרו לפני הסרת קובצי היומן הישנים. |
לִדחוֹס | הוא משמש לדחיסת קבצי היומן. |
compresscmd | הוא משמש להגדרת הפקודה 'דחיסה'. ה-gzip הוא פקודת ברירת המחדל. |
uncompresscmd | הוא משמש להגדרת הפקודה 'בטל דחיסה'. ה-gunzip הוא פקודת ברירת המחדל. |
דחיסה של עיכוב | הוא משמש לעיכוב תהליך הדחיסה של קבצי היומן. |
ההודעה ריקה | הוא משמש כדי לא לסובב את הקובץ הריק. |
חסר לי | אם הוא מוגדר, לא נוצרת שגיאה עבור קבצי היומן החסרים. |
גודל | הוא משמש כדי להגדיר את המגבלה להתחיל לסובב את קובצי היומן. |
dateext | הוא משמש להוספת ערך תאריך כסיומת של הקובץ לסובב. |
copytruncate | הוא משמש ליצירת עותק של הקובץ המקורי. |
מסובב מראש | הוא משמש להפעלת סקריפט לפני סיבוב קובצי היומן. |
לאחר סיבוב | הוא משמש להפעלת סקריפט לאחר סיבוב קובצי היומן. |
לִיצוֹר | הוא משמש ליצירת קובצי היומן עם הרשאת שורש. |
תחביר:
התחביר של הפקודה 'logrotate' ניתן באופן הבא:
לורוטוט [ אוֹפְּצִיָה ] config_file_path
ניתן להשתמש בסוגים שונים של אפשרויות למטרות שונות עם הפקודה 'logrotate'.
Logrotate Options
כמה אפשרויות שימושיות של הפקודה 'logrotate' מוזכרות בהמשך:
-f, -כוח | הוא משמש כדי לבצע את הסיבוב בכוח כאשר נדרש. |
-ד, -ניפוי באגים | הוא משמש להפעלת מצב ניפוי באגים במהלך הסיבוב. |
-m, -mail |
הוא משמש לשליחת אימייל במהלך הסיבוב. |
-s, -state |
הוא משמש עבור קבצי מדינה חלופיים. |
-נוֹהָג | הוא משמש להדפסת מידע השימוש. |
–?, –עזרה | הוא משמש להדפסת הודעות העזרה. |
-v, -רבות | הוא משמש להדפסה במצב מילולי. |
Logrotate קובץ תצורה
קובץ התצורה הראשי של logrotate נמצא במיקום '/etc/logrotate.conf'. הפעל את הפקודה הבאה כדי לפתוח את הקובץ בעורך הננו:
$ ננו / וכו / logrotate.confהגדרת ברירת המחדל של הפקודה 'logrotate' מוצגת בקובץ 'logrotate.conf'. ההנחיה 'include' משמשת בקובץ כדי לאחזר את התצורה הממוקמת בספריית '/etc/logrotate.d'.
דוגמה 1: צור קובץ תצורה פשוט של Logrotate
צור קובץ יומן לדוגמה בשם '/var/log/test.log' עם נתוני היומן לדוגמה. הפעל את הפקודה הבאה כדי לפתוח את עורך הננו כדי ליצור קובץ 'logrotate.conf' חדש במיקום התיקייה '/etc/tmp'. צור את התיקיה '/tmp' עם הרשאות שורש אם היא לא נוצרה קודם לכן.
$ ננו / וכו / tmp / logrotate.confהוסף את התוכן הבא לקובץ עבור הקובץ '/var/log/test.log'. על פי ההגדרה, הקובץ 'test.log' יסובב מדי יום אם גודל הקובץ עולה על 5K:
/ היה / עֵץ / test.log {יום יומי
גודל 5K
שֶׁלוֹ root adm
}
הפעל את הפקודה הבאה כדי לבדוק את גודל קובץ היומן:
$ ls -ל / היה / עֵץ / test.logהפעל את הפקודה 'logrotate' לאחר יצירת קובץ התצורה.
$ סודו לורוטוט / וכו / tmp / logrotate.confהפעל שוב את הפקודה הבאה כדי לבדוק את גודל קובץ היומן לאחר ביצוע הפקודה 'logrotate':
$ ls -ל / היה / עֵץ / test.logגודל הקובץ 'test.log' הוא 1K+. אז, לא נעשה סיבוב על סמך הגדרת התצורה.
שנה את ערך הגודל ל-1K בקובץ '/etc/tmp/logrotate.conf' והפעל שוב את הפקודה 'ls' כדי לבדוק את גודל הקובץ של '/var/log/test.log'. לפי הפלט, קובץ יומן הרישום מסובב ונמחק בגלל חריגה ממגבלת הגודל.
דוגמה 2: שימוש ב- Logrotate Copytruncate
צור או שנה את הקובץ '/etc/tmp/logrotate.conf' עם ההגדרות הבאות כדי להראות את השימוש ב-copytruncate. לפי ההגדרות החדשות, logrotate יוצר עותק של הקובץ המקורי על ידי הפיכת גודל הקובץ המקורי לאפס.
/ היה / עֵץ / test.log {להתחלף 5
גודל 1 ק
copytruncate
שֶׁלוֹ root adm
}
הפעל את הפקודה הבאה כדי לבדוק את גודל הקובץ 'test.log':
$ ls -ל / היה / עֵץ / test.logהפעל את הפקודה 'logrotate' לאחר יצירת קובץ התצורה.
$ סודו לורוטוט / וכו / tmp / logrotate.confהפעל שוב את הפקודה הבאה כדי לבדוק את גודל הקובץ 'test.log' לאחר ביצוע הפקודה 'logrotate':
$ ls -ל / היה / עֵץ / test.logגודל הקובץ המקורי הופך ל-0 לאחר ביצוע הפקודה 'logrotate' עבור הגדרת copytruncate.
דוגמה 3: שימוש ב- Logrotate Compress
צור או שנה את הקובץ '/etc/tmp/logrotate.conf' עם ההגדרות הבאות כדי להראות את השימוש בדחיסה. לפי ההגדרות החדשות, logrotate יוצר קובץ דחיסה של הקובץ המקורי.
/ היה / עֵץ / test.log {להתחלף 5
גודל 1 ק
לִדחוֹס
לִיצוֹר 770 root adm
}
הפעל את הפקודה הבאה כדי לבדוק את רשימת הקבצים והתיקיות של '/var/log':
$ ls / היה / עֵץ /הפעל את הפקודה 'logrotate' לאחר יצירת קובץ התצורה.
$ סודו לורוטוט / וכו / tmp / logrotate.confהפעל שוב את הפקודה הבאה כדי לבדוק את רשימת הקבצים והתיקיות של '/var/log':
$ ls / היה / עֵץ /הקובץ הדחוס של קובץ 'test.log' נוצר בשם 'test.log.1.gz' והקובץ המקורי מוסר.
דוגמה 4: שימוש ב- Logrotate Dateext
צור או שנה את הקובץ '/etc/tmp/logrotate.conf' עם ההגדרות הבאות כדי להראות את השימוש ב-dateext. לפי ההגדרות החדשות, logrotate יוצר קובץ דחיסה של הקובץ המקורי עם ערך התאריך.
היה / עֵץ / test.log {שֶׁלוֹ root adm
להתחלף 5
גודל 1 ק
לִדחוֹס
לִיצוֹר 770 root adm
dateext
}
הפעל את הפקודה 'logrotate' לאחר יצירת קובץ התצורה.
$ סודו לורוטוט / וכו / tmp / logrotate.confהפעל את הפקודה הבאה כדי לבדוק את רשימת הקבצים והתיקיות של '/var/log':
$ ls -ל / היה / עֵץ /הקובץ הדחוס של קובץ 'test.log' נוצר בשם 'test.log.20240129.gz' והקובץ המקורי מוסר.
דוגמה 5: שימוש ב-Logrotate Maxage
צור או שנה את הקובץ '/etc/tmp/logrotate.conf' עם ההגדרות הבאות כדי להראות את השימוש ב-maxage. לפי ההגדרות, logrotate שומרת חמש רשומות יומן אם גודל קובץ היומן עולה על 1K לאחר יום אחד.
/ היה / עֵץ / test.log {שֶׁלוֹ root adm
להתחלף 5
גודל 1 ק
לִדחוֹס
מקסימום 1
}
הפעל את הפקודה הבאה 'logrotate' כדי לאחסן את הפלט בקובץ יומן אחר בשם 'out.log':
$ סודו לורוטוט -ס = / היה / עֵץ / out.log / וכו / tmp / logrotate.confלפי הפלט הבא, הקובץ 'out.log' נוצר לאחר ביצוע הפקודה 'logrotate':
דוגמה 6: שימוש ב- Logrotate Missingok
צור או שנה את הקובץ '/etc/tmp/logrotate.conf' עם ההגדרות הבאות. כאן, קובץ היומן 'testfile.log' אינו קיים בתיקייה '/var/log'.
/ היה / עֵץ / testfile.log {שֶׁלוֹ root adm
להתחלף 5
גודל 1 ק
לִדחוֹס
}
הודעת שגיאה מודפסת לאחר ביצוע הפקודה 'logrotate'.
הוסף את ההגדרה 'missingok' בקובץ התצורה של logrotate והפעל שוב את הפקודה 'logrotate'. לא מודפסת שגיאה עבור קובץ היומן החסר.
דוגמה 7: שימוש ב-Logrotate Prerotate
צור קובץ Bash בשם 'test.sh' עם הסקריפט הבא שמדפיס הודעה פשוטה. הקובץ משמש בדוגמה זו של logrotate כדי להראות את השימוש ב-prerotate בקובץ התצורה של logrotate.
test.sh#!/bin/bash
הֵד 'לחלופין דוגמאות...'
לאחר יצירת הקובץ, הפעל את הפקודה הבאה כדי להגדיר את הרשאת הביצוע של קובץ זה עבור כל המשתמשים:
$ chmod a+x / בית / הֲבָנָה / test.shכעת, צור או שנה את הקובץ '/etc/tmp/logrotate.conf' עם ההגדרות הבאות. לפי ההגדרות, logrotate שומרת חמש רשומות יומן אם גודל קובץ היומן עולה על 1K וקובץ 'test.sh' מבוצע לפני הסיבוב.
/ היה / עֵץ / test.log {שֶׁלוֹ root adm
להתחלף 5
גודל 1 ק
מסובב מראש
/ בית / הֲבָנָה / test.sh
כתב קצה
}
הפלט של הקובץ 'test.sh' מוצג לאחר ביצוע הפקודה 'logrotate':
סיכום
השימושים השונים של הפקודה 'logrotate' מוצגים במדריך זה תוך שימוש במספר דוגמאות שיעזרו למשתמש הלינוקס להכיר את השימושים בפקודה ולנהל את קבצי היומן כראוי.