اسکریپت نویسی پیشرفته لینوکس برای وبمستر ها – قسمت ۶ – خالی کردن فایل های Log
فایل های Log یا وقایع نگاری لینوکس, در صورت تنظیم نشدن Log rotate روی هم جمع شده و ممکن است در دراز مدت حجم آنها به چندین گیگا بایت برسد.
بیشتر این فایل ها در دایرکتوری /var/log ذخیره میشوند, در این قسمت قصد داریم اسکریپتی بنویسیم که کار خالی کردن این فایل ها را بر عهده بگیرد.
از ساده ترین شکل ممکن شروع میکنیم:
با وارد کردن دستور
Du –h /var/log
در خط فرمان لیست فایل های Log , به همراه حجم اشغال شده را مشاهده میکنیم:
در سرور تستی ما فایل 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. “
همین کار را با سایر فایلها انجام میدهیم.
