أمثلة على Logrotate لنظام التشغيل Linux

Amthlt Ly Logrotate Lnzam Altshghyl Linux



تعد معلومات السجل جزءًا مهمًا جدًا من أي نظام تشغيل لتشخيص مشكلة أي تطبيق قيد التشغيل وتساعد إدخالات السجل في اكتشاف حل المشكلة. تقوم معظم تطبيقات نظام التشغيل Linux بإنشاء السجل ويحصل مسؤول النظام على المعلومات المطلوبة حول التطبيق من إدخالات السجل. ومع ذلك، تؤدي إدخالات السجل في بعض الأحيان إلى حدوث مشكلات نظرًا لأن حجم الإدخالات يصبح أكبر بمرور الوقت. لذا، فإن إدخالات السجل مطلوبة للإدارة.

إن logrotate عبارة عن أداة سطر أوامر لنظام التشغيل Linux لإدارة إدخالات السجل. تساعد هذه الأداة في تنفيذ أنواع مختلفة من المهام على إدخالات السجل بواسطة المسؤول مثل الحد من ملفات السجل التي تم تدويرها، وضغط ملفات السجل التي تم تدويرها، وحذف ملفات السجل غير الضرورية، وتنفيذ برنامج نصي Shell معين استنادًا إلى ملفات السجل، وما إلى ذلك. يتم عرض أمر 'logorate' لإدارة ملفات السجل بطرق مختلفة في هذا البرنامج التعليمي باستخدام أمثلة متعددة.

تحقق من إصدار Logrotate المثبت

يتم تثبيت الأمر 'logrotate' افتراضيًا في الإصدار الجديد من نظام التشغيل Ubuntu. قم بتشغيل الأمر التالي للتحقق من الإصدار المثبت للأمر 'logrotate':







$ com.logrotate --إصدار



يتم تخزين إدخالات السجل الخاصة بالتطبيقات المختلفة في المجلد '/var/log' بشكل افتراضي. سيظهر المحتوى المشابه التالي إذا قمت بفحص محتوى المجلد.



$ ليرة سورية / كان / سجل





اضبط تكوين 'Logrotate'.

قيمة الضبط غاية
يومي / اسبوعي / شهري / سنوي فهو يحدد المدة الزمنية لتدوير السجلات.
تدوير الرقم فهو يحدد عدد الملفات التي سيتم الاحتفاظ بها قبل إزالة ملفات السجل القديمة.
ضغط يتم استخدامه لضغط ملفات السجل.
compresscmd يتم استخدامه لضبط أمر 'الضغط'. gzip هو الأمر الافتراضي.
com.uncompresscmd يتم استخدامه لتعيين أمر 'فك الضغط'. Gunzip هو الأمر الافتراضي.
تأخير ضغط يتم استخدامه لتأخير عملية ضغط ملفات السجل.
الإخطار فارغ يتم استخدامه لعدم تدوير الملف الفارغ.
أنا مفقود إذا تم تعيينه، فلن يتم إنشاء أي خطأ لملفات السجل المفقودة.
مقاس يتم استخدامه لتعيين الحد لبدء تدوير ملفات السجل.
datetext يتم استخدامه لإضافة قيمة تاريخ كلاحقة لملف التدوير.
Copytruncate يتم استخدامه لإنشاء نسخة من الملف الأصلي.
استدارة مسبقا يتم استخدامه لتشغيل برنامج نصي قبل تدوير ملفات السجل.
استدارة لاحقة يتم استخدامه لتشغيل البرنامج النصي بعد تدوير ملفات السجل.
يخلق يتم استخدامه لإنشاء ملفات السجل بامتياز الجذر.

بناء الجملة:

يتم إعطاء صيغة الأمر 'logrotate' كما يلي:



com.logrotate [ خيار ] config_file_path

يمكن استخدام أنواع مختلفة من الخيارات لأغراض مختلفة باستخدام الأمر 'logrotate'.

خيارات السجل

بعض الخيارات المفيدة للأمر 'logrotate' مذكورة فيما يلي:

-و، -القوة يتم استخدامه لإجراء الدوران بقوة عند الحاجة.
-د، -تصحيح يتم استخدامه لتمكين وضع التصحيح أثناء التدوير.
-م، –البريد <الأمر> يتم استخدامه لإرسال بريد إلكتروني أثناء التناوب.
-s، -حالة <ملف الحالة> يتم استخدامه لملفات الحالة البديلة.
-الاستخدام يتم استخدامه لطباعة معلومات الاستخدام.
-؟، -يساعد يتم استخدامه لطباعة رسائل المساعدة.
-v، -مطول يتم استخدامه للطباعة في الوضع المطول.

ملف تكوين السجل

يوجد ملف تكوين السجل الرئيسي في الموقع '/etc/logrotate.conf'. قم بتشغيل الأمر التالي لفتح الملف في محرر nano:

$ نانو / إلخ / logrotate.conf

يظهر الإعداد الافتراضي للأمر 'logrotate' في ملف 'logrotate.conf'. يتم استخدام التوجيه 'include' في الملف لاسترداد التكوين الموجود في الدليل '/etc/logrotate.d'.

المثال 1: إنشاء ملف تكوين Logrotate بسيط

قم بإنشاء ملف سجل نموذجي باسم '/var/log/test.log' باستخدام بيانات السجل النموذجية. قم بتشغيل الأمر التالي لفتح محرر nano لإنشاء ملف 'logrotate.conf' جديد في موقع المجلد '/etc/tmp'. قم بإنشاء المجلد '/tmp' بامتيازات الجذر إذا لم يتم إنشاؤه من قبل.

$ نانو / إلخ / com.tmp / logrotate.conf

أضف المحتوى التالي إلى الملف الخاص بملف '/var/log/test.log'. وفقًا للإعداد، سيتم تدوير ملف 'test.log' يوميًا إذا تجاوز حجم الملف 5 كيلو بايت:

/ كان / سجل / test.log {

يوميًا

مقاس 5K

له جذر ادمير

}

قم بتشغيل الأمر التالي للتحقق من حجم ملف السجل:

$ ليرة سورية / كان / سجل / test.log

قم بتشغيل الأمر 'logrotate' بعد إنشاء ملف التكوين.

$ sudo com.logrotate / إلخ / com.tmp / logrotate.conf

قم بتشغيل الأمر التالي مرة أخرى للتحقق من حجم ملف السجل بعد تنفيذ الأمر 'logrotate':

$ ليرة سورية / كان / سجل / test.log

حجم ملف 'test.log' هو 1K+. لذلك، لا يتم إجراء أي تدوير بناءً على إعدادات التكوين.

قم بتغيير قيمة الحجم إلى 1K في الملف '/etc/tmp/logrotate.conf' وقم بتشغيل الأمر 'ls' مرة أخرى للتحقق من حجم ملف '/var/log/test.log'. وفقًا للإخراج، يتم تدوير ملف السجل وحذفه بسبب تجاوز الحد الأقصى للحجم.

المثال 2: استخدام Logrotate Copytruncate

قم بإنشاء أو تعديل الملف '/etc/tmp/logrotate.conf' بالإعدادات التالية لإظهار استخدام Copytruncate. وفقًا للإعدادات الجديدة، يقوم logrotate بإنشاء نسخة من الملف الأصلي عن طريق جعل حجم الملف الأصلي صفرًا.

/ كان / سجل / test.log {

استدارة 5

مقاس 1 ك

Copytruncate

له جذر ادمير

}

قم بتشغيل الأمر التالي للتحقق من حجم ملف 'test.log':

$ ليرة سورية / كان / سجل / test.log

قم بتشغيل الأمر 'logrotate' بعد إنشاء ملف التكوين.

$ sudo com.logrotate / إلخ / com.tmp / logrotate.conf

قم بتشغيل الأمر التالي مرة أخرى للتحقق من حجم ملف 'test.log' بعد تنفيذ الأمر 'logrotate':

$ ليرة سورية / كان / سجل / test.log

يصبح حجم الملف الأصلي 0 بعد تنفيذ أمر 'logrotate' لإعداد Copytruncate.

مثال 3: استخدام ضغط Logrotate

قم بإنشاء أو تعديل الملف '/etc/tmp/logrotate.conf' بالإعدادات التالية لإظهار استخدام الضغط. وفقًا للإعدادات الجديدة، يقوم logrotate بإنشاء ملف مضغوط للملف الأصلي.

/ كان / سجل / test.log {

استدارة 5

مقاس 1 ك

ضغط

يخلق 770 جذر ادمير

}

قم بتشغيل الأمر التالي للتحقق من قائمة الملفات والمجلدات في '/var/log':

$ ليرة سورية / كان / سجل /

قم بتشغيل الأمر 'logrotate' بعد إنشاء ملف التكوين.

$ sudo com.logrotate / إلخ / com.tmp / logrotate.conf

قم بتشغيل الأمر التالي مرة أخرى للتحقق من قائمة الملفات والمجلدات الخاصة بـ '/var/log':

$ ليرة سورية / كان / سجل /

يتم إنشاء الملف المضغوط لملف 'test.log' بالاسم 'test.log.1.gz' ويتم إزالة الملف الأصلي.

مثال 4: استخدام نص السجل

قم بإنشاء أو تعديل الملف '/etc/tmp/logrotate.conf' بالإعدادات التالية لإظهار استخدام dateext. وفقًا للإعدادات الجديدة، يقوم logrotate بإنشاء ملف مضغوط للملف الأصلي بقيمة التاريخ.

كان / سجل / test.log {

له جذر ادمير

استدارة 5

مقاس 1 ك

ضغط

يخلق 770 جذر ادمير

datetext

}

قم بتشغيل الأمر 'logrotate' بعد إنشاء ملف التكوين.

$ sudo com.logrotate / إلخ / com.tmp / logrotate.conf

قم بتشغيل الأمر التالي للتحقق من قائمة الملفات والمجلدات في '/var/log':

$ ليرة سورية / كان / سجل /

يتم إنشاء الملف المضغوط لملف 'test.log' بالاسم 'test.log.20240129.gz' ويتم إزالة الملف الأصلي.

مثال 5: استخدام Logrotate Maxage

قم بإنشاء أو تعديل الملف '/etc/tmp/logrotate.conf' بالإعدادات التالية لإظهار استخدام الحد الأقصى. وفقًا للإعدادات، يحتفظ logrotate بخمسة إدخالات سجل إذا تجاوز حجم ملف السجل 1K بعد يوم واحد.

/ كان / سجل / test.log {

له جذر ادمير

استدارة 5

مقاس 1 ك

ضغط

ماكساج 1

}

قم بتشغيل الأمر 'logrotate' التالي لتخزين الإخراج في ملف سجل آخر يسمى 'out.log':

$ sudo com.logrotate = / كان / سجل / out.log / إلخ / com.tmp / logrotate.conf

وفقًا للمخرجات التالية، يتم إنشاء ملف 'out.log' بعد تنفيذ أمر 'logrotate':

مثال 6: استخدام Logrotate Missingok

قم بإنشاء أو تعديل الملف '/etc/tmp/logrotate.conf' بالإعدادات التالية. هنا، ملف السجل 'testfile.log' غير موجود في المجلد '/var/log'.

/ كان / سجل / testfile.log {

له جذر ادمير

استدارة 5

مقاس 1 ك

ضغط

}

تتم طباعة رسالة خطأ بعد تنفيذ الأمر 'logrotate'.

أضف الإعداد 'missingok' في ملف تكوين السجل وقم بتشغيل الأمر 'logrotate' مرة أخرى. تتم طباعة أي خطأ لملف السجل المفقود.

مثال 7: استخدام Logrotate Prerotate

قم بإنشاء ملف Bash باسم 'test.sh' باستخدام البرنامج النصي التالي الذي يطبع رسالة بسيطة. يتم استخدام الملف في مثال السجل هذا لإظهار استخدام التدوير المسبق في ملف تكوين السجل.

test.sh



#!/بن/باش

صدى صوت 'أمثلة السجل ...'

بعد إنشاء الملف، قم بتشغيل الأمر التالي لتعيين إذن التنفيذ لهذا الملف لجميع المستخدمين:

$ chmod أ+س / بيت / فهم / test.sh

الآن، قم بإنشاء أو تعديل الملف '/etc/tmp/logrotate.conf' بالإعدادات التالية. وفقًا للإعدادات، يحتفظ logrotate بخمسة إدخالات سجل إذا تجاوز حجم ملف السجل 1K وتم تنفيذ ملف 'test.sh' قبل التدوير.

/ كان / سجل / test.log {

له جذر ادمير

استدارة 5

مقاس 1 ك

استدارة مسبقا

/ بيت / فهم / test.sh

نهاية

}

تظهر مخرجات الملف 'test.sh' بعد تنفيذ أمر 'logrotate':

خاتمة

يتم عرض الاستخدامات المختلفة للأمر 'logrotate' في هذا البرنامج التعليمي باستخدام أمثلة متعددة ستساعد مستخدم Linux على معرفة استخدامات الأمر وإدارة ملفات السجل بشكل صحيح.