هل من الممكن تشغيل التحقق من Logrotate يدويًا؟
سؤال
هل من الممكن تشغيل تكرار واحد من Logrotate يدويًا دون جدولة ذلك على بعض الفاصل الزمني؟
المحلول
نعم: logrotate --force $CONFIG_FILE
نصائح أخرى
logrotate -d [your_config_file]
يستدعي وضع التصحيح ، مما يمنحك وصفًا مطوّلاً لما سيحدث ، ولكن ترك ملفات السجل دون مساس.
إذا كنت ترغب في إجبار ملفات سجل محددة أو دليل الخفي ، فيمكنك عادة العثور على التكوين في /etc/logrotate.d
, وسيعملون مستقلين.
ضع في اعتبارك أن التكوين العالمي محدد في /etc/logrotate.conf
لن يتم تطبيقه ، لذلك إذا قمت بذلك ، فعليك التأكد من تحديد جميع الخيارات التي تريدها في /etc/logrotate.d/[servicename]
ملف التكوين على وجه التحديد.
يمكنك تجربتها مع -d
لمعرفة ما سيحدث:
logrotate -df /etc/logrotate.d/nginx
ثم يمكنك التشغيل (باستخدام Nginx كمثال):
logrotate -f /etc/logrotate.d/nginx
وسيتم تدوير سجلات nginx وحدها.
قد ترغب في تشغيله في وضع Verbose + Force.
logrotate -vf /etc/logrotate.conf
طريقة تشغيل كل Logrotate هي:
logrotate -f /etc/logrotate.conf
سيؤدي ذلك إلى تشغيل ملف Logrotate الأساسي ، والذي يتضمن تكوينات Logrotate الأخرى أيضًا
إصدار الأمر التالي ، طريقة تشغيل logrotate المحددة:
logrotate -vf /etc/logrotate.d/custom
خيارات:
-v: أظهر العملية
-F: فرض الجري
مخصص: إعداد السجل المعرفة من قبل المستخدم
على سبيل المثال: Mongodb-log
# mongodb-log rotate
/data/var/log/mongodb/mongod.log {
daily
dateext
rotate 30
copytruncate
missingok
}
edit /var/lib/logrotate.status لإعادة تعيين تاريخ "آخر دوران" في ملف السجل الذي تريد اختباره.
ثم اركض logrotate YOUR_CONFIG_FILE
.
أو يمكنك استخدام علامة -فورس ، ولكن تحرير logrotate.status يمنحك المزيد من الدقة على ما يفعل ولا يتم تدويره.
أنشأت نص Shell لحل المشكلة.
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
سيتم تشغيل هذا البرنامج النصي فقط ملف التكوين الفرعي المفرد الموجود في "/etc/logrotate.d" ، ولكن يتضمن الإعدادات العالمية من ملف التكوين العالمي "/etc/logrotate.conf". يمكنك أيضًا استخدام otpions الأخرى لاختبارها ...
علي سبيل المثال...
logrotate_one -d syslog