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

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*

bigtheme
x

شاید بپسندید

برند‌سازی چیست ؟

در این مطلب قصد داریم تا شما دوستان عزیز را با برند و برند سازی ...