معرفی سرویس logrotate

logrotate سرویسی است در لینوکس که اکثرا یکبار در روز اجرا می شود و فایل های لاگ سیـستم که در آن تعریف شده است تاریخ آرشیو جهت آنها تعریف شده است آرشیو یا حذف میشوند.
“Log Rotation” فرآیند آرشیو کردن فایل لاگ فعلی ، ایجاد فایل لاگ تازه یا حذف لاگ فایل قدیمی است.
لاگ فایـل (log) فایل هایی هستند که توسط سرویس ها یا پروگرام ها جهت اطلاع از عملکرد آنها برای نظارت و کنترل مدیران شبکه یا برنامه نویسان تولید میگردد.


خرید هاست

خرید هاست,خرید سرور مجازی,سرور مجازی ایران,هاست پربازدید

مساله ای که در لاگ فایـل ها با اهمیت زیاد هستند این است که قطعاً ما نمیخواهیم فایل های بزرگ قدیمی را داشته باشیم یا میخواهیم این فایل ها آرشیو شوند.

ارزش لاگ روتیت (Log Rotate) چیست ؟

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

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

لاگ روتیت (Log Rotate) چگونه کار می نماید ؟

سرویس logrotate در وقت های مقرری مثلاً بار در روز اجرا می شود :

/etc/cron.daily/logrotate

در صورتی که مایل هستید سرویس logrotate در زمان های زودتری مثلاً بصورت ساعتی اجرا شود لازم است که اجرای سرویس آن را توسط سرویس cron به ساعتی تبدیل بکنید :

/etc/cron.hourly

زمانی که سرویس logrotate اجرا می شود این سرویس لاگ فایل های تعریف شده را میخواند تا بر طبق “تعداد آرشیو هایی که باید نگهداری شود ” یا ” چه زمانی بایستی لاگ فعلی بسته شود” عملیات خود را به انجام میرساند.

فایل logrotate.conf

فایل تنظیمات logrotate در مسیر زیر قرار دارد :

/etc/logrotate.conf

این فایل حاوی پارامترهای پیش فرض سرویس logrotate است و با توجه به شرح ات داخل فایـل میتوانیم مقادیر پیش فرض را تغییر دهیم.
در این فایل مسیر زیر محل تنظیمات logrotate مربوط بهبقیه برنامه ها را معین می نماید :

include /etc/logrotate.d

مسیر logrotate.d

میتوانید با استفاده از دستور زیر مسیر دایرکتوری logrotate.d را نگاه بکنید :

ls /etc/logrotate.d

بسته به اینکه چه پروگرام هایی روی سرور شما نصب شده اند این پروگرام ها در دایرکتوری فوق یک فایل در این مسیر جهت تنظیم اختصاصی logrotate این پروگرام ایجاد می نماید .
در این مسیر لااقل یک فایـل به نام syslog مشاهده می شود که لاگ های خود سیـستم را rotate خواهد کرد.

داخل فایل های تنظیم هر برنامه

فایل زیر را مشاهده بکنید این فایـل قسمت ی از فایل تنظیم logrotate مربوط به این برنامه در logrotate.d است که از یک وب سرور Apache در سیـستم علت Fedora برداشته شده است:

/var/log/httpd/*log

مسیر لاگ فایل ها در بالا معین شده است :

/var/log/httpd/*log

لاگ فایـل ها

لاگ فایل ها اکثرا بصورت فایل با استفاده از علامت معین میشوند اما شما میتوانید مانند زیر چند لاگ فایـل تعریف بکنید :

/var/foo/*.log /var/bar/log.txt
b b b
b b b

همين طور مانند مثال فوق میتوان فایـل یا چند فایل با علامت * یا log.* را معین بکنید .

پارامتر Rotate count چیست ؟

دستوری همموزیک زیر تعداد مراقبت لاگ فایل ها را قبل از حذف فایل لاگ معین می نماید :

rotate 4

در دستور فوق معین می شود که تعداد ۴ لاگ فایل نگهداری شود.

پارامتر Rotation interval چیست ؟

دستوری وجود دازد که معین می نماید لاگ روتیشن جهت چه مدت لاگ را مراقبت نماید .

daily
weekly
monthly
yearly

پارامتر Size چیست ؟

میتوان دستور لاگ روتیشن را با توجه به اندازه فایـل لاگ معین کرد.

size 100k
size 100M
size 100G

مثالهای فوق دستور Log Rotate را بعد از بزرگ شدن فایل از اندازه ۱۰۰ کیلوبایت ، دومی بعد از بزرگ شدن از سایز ۱۰۰ مگابایت سومی بعد از بزرگ شدن از اندازه ۱۰۰ گیگابایت معین می نماید .

دقت شود که پارامتر size از درجه ارزش و اجرای بالاتری نسبت بهبقیه پارامترها برخوردار است.

پارامتر Compression چیست ؟

پارامتر compress باعث بصورت فشرده سازی فایـل لاگ بصورت gzip خواهد شد . با مصرف از دستورnocompress بصورت فشرده سازی کنسل خواهد شد.
در صورتی که مایل هستید بصورت فشرده سازی با تاخیر انجام شود لزومی به انجام سریع آن وجود ندارد از پارامتر delaycompress مصرف شود.یکی از کاربر دهای delaycomress در لاگ های سرویس آپاچی است.

پارامتر postrotate چیست ؟

postrotate اسکریپتی است که هر زمان که logrotate انجام می شود اجرا می شود .
به عنوان مثال میتوان سرویس مورد نظر را در این اسکریپت Restart کرد :

postrotate
/usr/sbin/apachectl restart > /dev/null
endscript

بعد از دستورات postrotate با مصرف از endscript اسکریپت بسته می شود .

پارامتر sharedscripts چیست ؟

این پارامتر باعث می شود که در صورتی پروگرام مانند Apache دارای چندین لاگ بود ، فقط بار اسکریپت تعریف شده در postrotate انجام شود ری استارت آپاچی مکرر انجام نشود.
بخشی از هارد رایانه سرور است که VPS شما می تواند تمالک نماید .
شرح ات بیشتر
به میزان انتقال داده ای که VPS شما در یک بازه ی معین انجام میدهد گفته می شود .
چنانچه این مصرف بیشتر از میزان مجاز باشد بعد از مطلع کردن شمتری فاکتور اضافه مصرف جهت آنها صادر خواهد شد.
شرح ات بیشتر
هر نرم افزار ی که بر روی VPS نصب راه اندازی می شود و همچنین وب وبسایت هایی که بر روی آن راه اندازی میکنید از رم ستفاده میکنند، در صورتی که میزان رمی که در موقع ثبت سفارش جهت ادامه ی کار VPS کافی نباشد میتوانید به هر اندازه که احتیاج داشته باشید سیـستم خود را ارتقا دهید.
شرح ات بیشتر
هر پروگرام ی که بر روی VPS نصب راه اندازی می شود و همين طور وب وبسایت هایی که بر روی آن راه اندازی میکنید از CPU ستفاده میکنند، در صورتی که CPU که در موقع ثبت سفارش برای ادامه ی کار VPS کافی نباشد میتوانید به هر اندازه که احتیاج داشته باشید سیسـتم را ارتقا دهید.

توضیح ات بیشتر
سرورهای ما بر روی دیتا سرور قدرتمند فن آوا قرار دارد.
شرح ات بیشتر
سرعت پورت اینترنت تحویلی به دیتا سنتر ۱ Gbاست که به صورت اشتراکی تقسیم می شد.
مجازی سازی بوسیله VMware ESXi انجام می گیرد.
آپتایم خیلی بالا در کلیه سرویس ها نزدیک به ۱۰۰%
سرورهای ما در داخل ایران هستند که این مزیتی در جهت سرعت دسدلهره و ترس ی محسوب می شود .

برچسب ها

ممکن است به این موارد نیز علاقه مند باشید:

0 دیدگاه در “معرفی سرویس logrotate”

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *