اسکریپت نویسی پیشرفته لینوکس برای وبمستر ها – قسمت ۶ – خالی کردن فایل های Log : log file ها یا وقایع نگاری لینوکس, در صورت تنظیم نشدن Log rotate روی هم جمع شده و ممکن است در دراز مدت حجم آنها به چندین گیگا بایت برسد.
بیشتر این فایل ها در دایرکتوری /var/log ذخیره میشوند, در این قسمت قصد داریم اسکریپتی بنویسیم که کار خالی کردن این فایل ها را بر عهده بگیرد. دز ادامه با نوین هاست همراه باشید…
حدف log file
از ساده ترین شکل ممکن شروع میکنیم:
با وارد کردن دستور
Du –h /var/log
در خط فرمان لیست log file , به همراه حجم اشغال شده را مشاهده میکنیم:
در سرور تستی ما فایل munin با ۴۹ مگابایت حجم, سنگین ترین فایل لاگ بود, فایل audit نیز حجیم بود.
حالا میخواهیم اسکریپتی بنویسیم که این فایل ها را حذف کند:
Cat /dev/null > /var/log/munin
Cat /dev/nul > /var/log/audit
Echo “munin and audit logs Cleaned up. “
فایل /dev/null سیاهچاله لینوکس است, این فایل همیشه خالی است. حتی اگر چیزی در آن بنویسید.
با دستور cat محتوی فایل null را که خالی است, به فایل لاگ انتقال میدهیم, با این کار فایل لاگ خالی میشوند.
اما فایل های لاگ معمولا اطلاعات مهمی در مورد سیستم دارند و اگر قرار بود همه آنها را حذف کنیم, بهتر بود از همان اول جلوی ایجاد شدن آنها را بگیریم, پس باید راهی پیدا کنیم که آخرین لاگ ها سالم بمانند و خط های قدیمی فایل حذف شوند.
دستور tail ده سطر آخر فایل را بر میگرداند, میتوانیم با کمک این دستور ده سطر آخر را نگه داریم.
Tail /var/log/munin > /var/log/munin.temp
Cat /dev/null > /var/log/munin
Mv /var/log/munin.temp /var/log/munin
Echo “logs cleaned up. “
همین کار را با سایر log file ها انجام میدهیم.
نوین هاست یار نوین شماست ،