שאלה ללא תשלום שטח מונע סיבוב יומן על לינוקס?


מישהו רק שאל אותי 'כמה זמן אנחנו צריכים לשמור יומני עבור היישום שלנו', והתשובה שלי היתה 'עד הדיסק מלא' כמו אין סיבה לזרוק אותם חוץ מאשר אוזל.

עם זאת, תקן logrotate רוצה לנו לציין תקופה מסוימת + מספר סיבובים. האם יש משהו דומה שיאפשר לנו לומר "לסובב מדי יום, ולשמור על ההיסטוריה כמה שתרצה עד שיש רק 5% שטח חינם"?

הפלטפורמה היא Redhat Linux.


8
2018-03-23 17:05




שמירה על יומני עד הדיסק מלא יכול להיות מיושם על סביבות פיזיות, אבל כמו שאנחנו עוברים בעיקר לשרתים וירטואליים ענן, גודל מערכת הקבצים צריך להיות קטן ככל האפשר כדי להוזיל עלויות. במקרה זה, לא ניתן להימנע מהגדרת מדיניות שמירה. - jfg956


תשובות:


אתה יכול אולי להשתמש firstaction או הוראות האחרון להתקשר סקריפט פגז בדיקות עבור שטח דיסק בחינם, ולאחר מכן להפעיל למחוק על הקבצים הישנים ביותר.

   firstaction/endscript
          The lines between firstaction and endscript (both of which must appear on lines by themselves) are
          executed (using /bin/sh) once before all log files that match the wildcarded pattern are  rotated,
          before  prerotate  script  is  run  and  only if at least one log will actually be rotated.  These
          directives may only appear inside a log file definition. Whole pattern is passed to the script  as
          first  argument.  If  the script exits with error, no further processing is done. See also lastac-
          tion.

עדכון:

הנה פוסט Stackoverflow על סוג של סקריפט אתה יכול לרוץ:

https://stackoverflow.com/questions/7523059/remove-oldest-file-in-repository


9
2018-03-23 17:11





ללוגרוט עצמו אין אפשרות כזו. אתה יכול להוסיף סקריפט cron למצוא את היומן הישן ביותר להסיר בכל מקום פנוי נופל מתחת לקריטריונים שלך. אתה יכול לעשות כמה אימות אחרים גם כן. עם זאת, מקבל דיסק מדי מלא כל הזמן הוא לא רעיון טוב, כי המערכת לא תוכל ליצור קבצים זמניים גדולים יכול לגרום לכישלונות יישום.


1
2018-03-23 17:10



אם יש לך הכל על מערכת הקבצים, זה לא יכול להיות רעיון טוב. עם זאת, היומנים שלי הם על מערכת הקבצים שלהם, כדי למנוע להפריע כל דבר אחר. - kdt
אה בסדר, אם יש להם רק fs שלהם, זה עושה דברים פשוטים יש תסריט לעשות את הניקוי, dh / FS ולהשתמש אוק או לחתוך כדי לחלץ% בשימוש, ועל סמך דמות, אתה יכול לבעוט מחוץ למצוא עם exec rm. לעתים קרובות אני לא כותב תסריט ופשוט לשים אחד-אניה ב crontab עצמה. - johnshen64


אני רק רוצה לציין יש מקרים שבהם אתה לא רוצה יומנים שלך למלא את כל שטח דיסק זמין. יש לי עסק עם מספר המארחים עם ספקים מסופק / ואר דק ושמירה על יומני בגודל מסוים היה חיוני. השתמשנו עבודה cronies בשיתוף עם logrorate כדי לשמור על גודל למטה. משהו דומה יכול לשמש בסביבה שלך, אם כי שרת יומן מרכזי כמו splunk או syslog-ng יהיה כנראה אפשרות טובה יותר.


0
2018-03-24 02:25