خانه / مقالات / معرفی سرویس logrotate

معرفی سرویس 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
missingok
notifempty
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null

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

/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 انجام می گیرد.
آپتایم زیاد بالا در کلیه سرویس ها نزدیک به ۱۰۰%
سرورهای ما در داخل ایران هستند که این مزیتی در جهت سرعت و دسدلهره و ترس ی محسوب می شود .

درباره ی admin

مطلب پیشنهادی

افزایش کامنت فارسی اینستاگرام

افزایش کامنت فارسی اینستاگرام نحوه افزایش کامنت فارسی اینستاگرام -اگر به فکر افزایش کامنت فارسی …

پاسخ دهید

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