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

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

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

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

پاسخ دهید

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