خانه / سیستم عامل لینوکس / چگونه فایل های لاگ بزرگ در لینوکس را مدیریت کنیم؟
چگونه فایل های لاگ بزرگ در لینوکس را مدیریت کنیم؟

چگونه فایل های لاگ بزرگ در لینوکس را مدیریت کنیم؟

اگر تا به حال سرور لینوکسی را برای بازه زمانی خاصی مدیریت کرده باشید حتما با مشکلات فایل های لاگ اشنایی دارید. یافتن این مشکلات می تواند بسیار دشوار باشد. برخی از اوقات با فایل هایی مواجه خواهید شد که صدها مگابایت اندازه دارند و حتی اندازه ان ها به چندین گیگابایت می رسد. جستجو در داخل چنین فایل هایی بسیار دشوار خواهد بود و در نهایت باعث از دست رفتن فضای ذخیره سازی تان می شود.  در این مقاله قصد داریم مدیریت فایل های لاگ بزرگ را با هم مرور کنیم. قصد داریم در این مقاله از پکیج های درون ساخت لینوکس برای فایل های لاگ سیستم استفاده کنیم. این موضوع بدین معنی است که شما نیازی به نصب و راه اندازی پکیج جدید ندارید. تنها کاری که باید انجام دهید این است که نحوه اضافه کردن پیکربندی برای فایل های لاگ خود را بشناسید. پس همراه وب ایده باشید.

 مشاهده فایل های لاگ به کمک logrotate:

در مسیر زیر فایل های لاگ سیستم متعددی وجود دارد:

 

همانطور که در تصویر زیر مشاهده می کنید همه فایل هایی که در این دایرکتوری وجود دارد فهرست شده و اندازه شان تعیین گشته است:

همانطور که می بینید فایل های لاگ بزرگی وجود دارد.  این ها به طور پیش فرض توسط logrotate ایجاد شده اند.  بررسی timestamp ها نشان می دهد این ها هر هفت روز یکبار تولید می شوند. پس برای هر ، logrotate کارهای زیر را انجام می دهد:

  • فایل لاگ را با timestamp مجدد نام گذاری می کند
  • فایل لاگ خالی جدیدی با همان نام ایجاد می کند.

 بررسی  پیکربندی های پیش فرض Logrotate:

Logrotate فایل زیر را برای یافتن پیکربندی های خود مورد بررسی قرار می دهد:

 

در این فایل می توانیم همه اطلاعات مهم  را پیدا کنیم:

  • چند وقت یکبار کار Rotate فایل های لاگ انجام می شود
  • بک آپ ها چقدر باید نگهداری شود
  • چه نوع پسوندی باید به فایل های لاگ قدیمی افزوده شود
  • ایا این فایل ها باید فشرده شوند یا خیر

به طور پیش فرض فایل های لاگ قدیمی فشرده نمی شوند. شما می توانید این موضوع را به راحتی با uncomment  کردن دستور compress انجام دهید.

 اضافه کردن فایل به logrotate:

خوب حالا سوال اینجاست که logrotate از کجا می فهمد که باید بر روی کدام لاگ باید کار کند؟ فایلی که در دایرکتوری زیر قرار را در نظر بگیرید:

 

به عنوان مثال در لاگ Secure که در اولین تصویر مشاهده کردید می توان به کمک دستور زیر فایلی که در logrotate دربرگیرنده آن است را پیدا کرد:

 

تصویر زیر نشان می دهد کدام فایل مسئول لاگ Secure است.

همه فایل ها در  /var/log/ قرار گرفته اند. هر فایل دربرگیرنده موارد زیر هستند:

  • نام فایل لاگی که باید rotate شودو
  • دستورهای خاص برای فایل های خاص
  • در نبود directive ها، گزینه پیش فرض از confمورد استفاده قرار خواهد گرفت.

ایجاد فایل Logrotate برای لاگ ها:

ما می توانیم از قالب های بالا برای ایجاد ورودی با Logrotate استفاده کنیم.

ایجاد گروه و owner  برای دایرکتوری:

برای اینکه اطمینان حاصل کنیم همه مجوزها به درستی به کار رفته اند باید فایل Logrotate را با مجوزها و دسترسی های مناسبی اجرا کنیم. به سمت دایرک توری بروید که دربرگیرنده فایل لاگ مدنظرتان است و owner و گروه ها را با دستور زیر به دست آورید:

 

به عنوان مثال دایرکتوری /var/log  اختیارات روت را دارد و گروهش نیز روت است

ایجاد فایل Logrotate با پیکربندی:

حالا باید فایل جدیدی در مسیر /etc/logrotate.d/ ایجاد کنید و فایل پیکربندی زیر را در آن پیست نمایید:

 

عبارت /var/log/newlogfile  را با موقعیت فایل لاگ خود عوض کنید. همچنین باید su root root  را با نام گروه و owner خود عوض نمایید. شما می توانید از خطوط زیر در بلوک براکت استفاده نمایید تا اسکریپت ها را بغد و قبل از rotate فایل لاگ اجرا نمایید:

 

همانطور که مشاهده کردید لینوکس راه حل های کاملی برای rotate فایل های لاگ دارد. تنها چیزی که شما نیاز دارید اضافه کردن چند خط کد به چارچوب فعلی است.

جوابی بنویسید

ایمیل شما نشر نخواهد شدخانه های ضروری نشانه گذاری شده است. *

*