برنامه LogRotate رکوردی بهروز از اتفاقات سیستم را فراهم میکند. این ابزار میتواند برای بکآپ گرفتن از فایلهای لاگ هم استفاده شود، بنابراین میتوان از کپیها جهت ایجاد الگوهایی برای استفاده از سیستم استفاده کرد. سرورهایی که اپلیکیشنهای بزرگ را ران میکنند مثل گروه لمپ (LAMP)، معمولا همه فعالیتها و درخواستها را لاگ میکنند، علیرغم اینکه ممکن است لاگهای حجیمی وجود داشته باشند که فضای دیسک زیادی را بر روی سرور اشغال کنند. Log rotation شیوهای برای محدود کردن سایز نهایی لاگهای ذخیره شده و همزمان آنالیز کردن رویدادهای اخیر است. لاگها اولین منبع اطلاعاتیای هستند که مهندسین و مدیران در حین عیبیابی به آن مراجعه میکنند. این ابزار برای کار در مدیریت سیستم طراحی شده و با کمک آن فایلهای لاگ قدیمی آرشیو میشوند.
در این مقاله نحوه پیکربندی logrotate در لینوکس را فرا خواهید گرفت.
نصب بر روی CentOS
برای نصب این دستور را اجرا کنید:
dnf install -y logrotate
کانفیگ کردن
میخواهیم logrotate را برای وب سرور Apache در سرور CentOS پیکربندی کنیم. فرض کنید میخواهیم لاگهای سرویس «apache» که لاگفایلهایی در دایرکتوری /var/log/httpd ایجاد میکنند را rotate کنیم. پس یک فایل «apache» در دایرکتوری /etc/logrotate.d درست میکنیم و پیکربندی مناسبی را در این فایل انجام میدهیم تا تمام لاگهای سرویس آپاچی را rotate کنیم.
دستور زیر را ران و کدهای بعدی را به آن اضافه کنید:
vi /etc/logrotate.d/apache
/var/log/httpd/* {
daily
rotate 80
size 3M
compress
delaycompress
}
/var/log/httpd به معنای روتیت کردن همه لاگهای دایرکتوری httpd است.
daily به معنای rotate کردن روزانه لاگهاست. میتواند هفتگی یا ماهانه باشد.
rotate 80 به این معناست که 80 لاگ روتیت شده باید نگه داشته شوند.
size=3M هم نشاندهنده این است که لاگها تا وقتی که به حجم 3 مگابایت نرسند rotate نخواهند شد. این حداقل اندازه را برای روتیت لاگها تنظیم میکند.
و در نهایت delaycompress این را نشان میدهد که لاگهای rotate شده به استثنای جدیدترین باید فشرده شوند.
حالا تغییرات را ذخیره کنید و خارج شوید.
شما همینطور میتوانید آپشنهای دیگری که تمایل دارید را هم اجرا کنید. برای مثال دستور زیر را اجرا کنید:
man logrotate
این ابزار به شکل پیش فرض و خودکار یک کار تکراری را که برای اجرای روزانه برنامهریزی شده، پیکربندی می کند. اما ما میخواهیم فایل لاگ روتیشن مورد نظر خودمان را ران کنیم:
logrotate -f /etc/logrotate.d/httpd
حالا دستور زیر را اجرا کنید:
logrotate -d /etc/logrotate.d/httpd