موجز
logrotate [--force] [--debug] [--state
ملف] [--skip-state-lock]
[--wait-for-state-lock] [--verbose] [--log
ملف] [--mail
أمر]
ملف_إعداد
[ملف_إعداد2
...]
الوصف
صُمم logrotate
لتسهيل
إدارة
الأنظمة
التي تُنتج
أعدادًا
كبيرة من
ملفات
السجلات.
يسمح
بالتدوير
الآلي،
والضغط،
والإزالة،
وإرسال
ملفات
السجلات
عبر البريد.
يمكن
معالجة كل
ملف سجل
يوميًا،
أسبوعيًا،
شهريًا، أو
عندما يكبر
حجمه أكثر
من اللازم.
عادةً،
يُشغل logrotate
كمهمة cron
يومية. لن
يُعدّل
سجلًا أكثر
من مرة في
اليوم
الواحد إلا
إذا كان
معيار ذلك
السجل
مبنيًا على
حجم السجل
وكان logrotate
يُشغل أكثر
من مرة
يوميًا، أو
إذا
استُخدم
الخيار -f أو
--force.
يمكن
إعطاء أي
عدد من
ملفات
الإعداد في
سطر
الأوامر. قد
تتجاوز
ملفات
الإعداد
اللاحقة
الخيارات
المُعطاة
في الملفات
السابقة،
لذا فإن
الترتيب
الذي تُدرج
به ملفات
إعداد logrotate
مهم. عادةً،
يجب
استخدام
ملف إعداد
واحد يتضمن
أي ملفات
إعداد أخرى
مطلوبة.
انظر أدناه
لمزيد من
المعلومات
حول كيفية
استخدام
توجيه include
لتحقيق ذلك.
إذا أُعطي
دليل في سطر
الأوامر،
يُستخدم كل
ملف في ذلك
الدليل
كملف
إعداد.
إذا لم
تُعطَ أي
وسائط لسطر
الأوامر،
يطبع logrotate
معلومات
الإصدار
وحقوق
النشر، مع
ملخص
استخدام
قصير. إذا
حدث أي خطأ
أثناء
تدوير
السجلات،
يخرج logrotate
بحالة غير
صفرية، على
الرغم من
تحديث ملف
الحالة.
الخيارات
- -f،
--force
- يُخبر logrotate
بإجبار
التدوير،
حتى لو لم
يرَ ذلك
ضروريًا.
أحيانًا
يكون هذا
مفيدًا بعد
إضافة
إدخالات
جديدة إلى
ملف إعداد
logrotate، أو إذا
أُزيلت
ملفات
السجلات
القديمة
يدويًا،
حيث ستنشأ
الملفات
الجديدة
ويستمر
التسجيل
بشكل صحيح.
- -d،
--debug
- تشغيل وضع
التصحيح،
مما يعني
عدم إجراء
أي تغييرات
على
السجلات
وعدم تحديث
ملف حالة
logrotate. تُطبع
رسائل
التصحيح
فقط.
- -s, --state
ملف_الحالة
- يخبر logrotate
باستخدام
ملف حالة
بديل. هذا
مفيد إذا
كان logrotate
يُشغّل
كمستخدم
مختلف
لمجموعات
متنوعة من
ملفات
السجل. لمنع
التنفيذ
المتوازي،
يكتسب logrotate
مبدئياً
قفلاً على
ملف
الحالة،
وإذا تعذر
اكتسابه،
سيخرج logrotate
بالقيمة 3.
ملف الحالة
المبدئي هو
/var/lib/logrotate/status. إذا
أعطي /dev/null
كملف حالة،
فلن يحاول
logrotate قفل أو
كتابة ملف
الحالة.
- --skip-state-lock
- لا تقفل ملف
الحالة،
على سبيل
المثال إذا
كان القفل
غير مدعوم
أو محظورًا.
- --wait-for-state-lock
- انتظر حتى
يُحرر قفل
ملف الحالة
بواسطة
عملية logrotate
أخرى. قد
يتسبب هذا
الخيار في
انتظار logrotate
إلى أجل غير
مسمى.
استخدم
بحذر.
- -v،
--verbose
- تشغيل وضع
الإسهاب،
على سبيل
المثال
لعرض
الرسائل
أثناء
التدوير.
- -l, --log
ملف
- يُخبر logrotate
بتسجيل
المخرجات
المفصلة في
ملف_السجل.
المخرجات
المفصلة
المسجلة في
ذلك الملف
هي نفسها
عند تشغيل
logrotate مع
المفتاح -v.
يُستبدل
ملف السجل
في كل تنفيذ
لـ logrotate.
- -m، --mail
أمر
- يُخبر logrotate
بالأمر
الذي
سيُستخدم
عند إرسال
السجلات
بالبريد.
يجب أن يقبل
هذا الأمر
الوسائط
التالية:
- 1) موضوع
الرسالة
المُعطى مع
'-s subject'
2) المستلم.
- يجب على
الأمر بعد
ذلك قراءة
رسالة من
المدخل
القياسي
وإرسالها
بالبريد
إلى
المستلم.
أمر البريد
المبدئي هو
/usr/bin/mail.
- --usage
- يطبع رسالة
استخدام
قصيرة.
- -؟، --help
- يطبع رسالة
المساعدة.
- --version
- اعرض
معلومات
الإصدار.
ملف
الضبط
يقرأ logrotate كل
شيء عن
ملفات
السجلات
التي يجب أن
يعالجها من
سلسلة
ملفات
الإعدادات
المُحددة
في سطر
الأوامر.
يمكن لكل
ملف
إعدادات
تعيين
خيارات
عامة
(التعريفات
المحلية
تتجاوز
العامة،
والتعريفات
اللاحقة
تتجاوز
السابقة)
وتحديد
ملفات
سجلات
لتدويرها.
لا تؤثر
الخيارات
العامة على
توجيهات
التضمين
السابقة.
يبدو ملف
إعدادات
بسيط هكذا:
# sample logrotate configuration file
compress
/var/log/messages {
rotate 5
weekly
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotate 5
mail recipient@example.org
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}
/var/log/news/* {
monthly
rotate 2
olddir /var/log/news/old
missingok
sharedscripts
postrotate
kill -HUP $(cat /var/run/inn.pid)
endscript
nocompress
}
~/log/*.log {}
تضبط
الأسطر
القليلة
الأولى
الخيارات
العامة؛ في
المثال،
تُضغط
السجلات
بعد
تدويرها.
لاحظ أن
التعليقات
قد تظهر في
أي مكان في
ملف
الإعدادات
طالما أن
أول حرف غير
فراغي في
السطر هو #.
تُفصل
القيم عن
التوجيهات
بمسافات
و/أو علامة =
اختيارية.
يجب تحديد
الأرقام
بتنسيق
تفهمه strtoul(3).
يُعرف
القسم
التالي من
ملف
الإعدادات
كيفية
معالجة ملف
السجل /var/log/messages.
سيمر السجل
بخمس دورات
أسبوعية
قبل إزالته.
بعد تدوير
ملف السجل
(ولكن قبل
ضغط النسخة
القديمة من
السجل)،
يُنفذ
الأمر /usr/bin/killall -HUP
syslogd.
يُعرف
القسم
التالي
المعاملات
لكل من /var/log/httpd/access.log
و /var/log/httpd/error.log.
يُدار كل
منهما كلما
زاد حجمه عن
100 كيلوبايت،
وتُرسل
ملفات
السجلات
القديمة
بالبريد
(غير مضغوطة)
إلى recipient@example.org بعد
المرور بـ 5
دورات،
بدلاً من
إزالتها.
يعني sharedscripts أن
البرنامج
النصي postrotate
سيُشغل مرة
واحدة فقط
لهذا
القسم،
وليس مرة
لكل سجل
يُدار. لاحظ
أن أسماء
ملفات
السجلات قد
تُحاط
بعلامات
اقتباس (وأن
علامات
الاقتباس
مطلوبة إذا
كان الاسم
يحتوي على
مسافات).
تنطبق
قواعد
الاقتباس
العادية
للقشرة، مع
دعم الأحرف
' و " و \.
يُعرف
القسم
التالي
المعاملات
لجميع
الملفات في
/var/log/news. يُدار
كل ملف على
أساس شهري.
يستخدم
القسم
الأخير
توسعة
التلدة
لتدوير
ملفات
السجلات في
الدليل
الرئيسي
للمستخدم
الحالي. هذا
متاح فقط
إذا كانت
مكتبة glob
لديك تدعم
توسعة
التلدة.
تدعم GNU glob هذا.
يرجى
استخدام
أحرف البدل
بحذر. إذا
حددت *،
فسيدير logrotate
جميع
الملفات،
بما في ذلك
تلك التي تم
تدويرها
سابقًا.
طريقة
لتجنب ذلك
هي استخدام
توجيه olddir أو
حرف بدل
أكثر دقة
(مثل *.log).
يرجى
الملاحظة،
افتراضياً
عند
استخدام
systemd(1)، يتم
تعيين
الخيار ProtectSystem=full
في ملف logrotate.service.
يمنع هذا logrotate
من تعديل
السجلات في
/etc و /usr.
فيما يلي
مزيد من
المعلومات
حول
التوجيهات
التي قد
تُدرج في
ملف تهيئة
logrotate:
توجيهات
ملف
التهيئة
قد تُدرج
هذه
التوجيهات
في ملف
تهيئة logrotate:
التدوير
- rotate
count
- تُدور
ملفات
السجل count
مرة قبل
إزالتها أو
إرسالها
بالبريد
إلى
العنوان
المحدد في
توجيه mail.
إذا كان count
هو 0، تُزال
الإصدارات
القديمة
بدلاً من
تدويرها.
إذا كان count
هو -1، لا
تُزال
السجلات
القديمة
مطلقاً،
إلا إذا
تأثرت بـ maxage
(استخدم
بحذر، قد
يهدر
الأداء
ومساحة
القرص).
المبدئي هو
0.
- olddir
directory
- تُنقل
السجلات
إلى directory
للتدوير.
يجب أن يكون
directory على نفس
الجهاز
المادي
لملف السجل
الذي
يُدور، ما
لم يُستخدم
الخيار copy
أو copytruncate أو renamecopy.
يُفترض أن
directory نسبي
للدليل
الذي يحتوي
ملف السجل
ما لم يُحدد
اسم مسار
مطلق. عند
استخدام
هذا
الخيار،
تنتهي جميع
الإصدارات
القديمة من
السجل في
directory. قد
يُلغى هذا
الخيار
بواسطة
الخيار noolddir.
- noolddir
- تُدور
السجلات في
الدليل
الذي توجد
فيه عادةً
(يلغي هذا
الخيار olddir).
- su user
group
- دور ملفات
السجل
المعينة
تحت هذا
المستخدم
والمجموعة
بدلاً من
استخدام
المستخدم/المجموعة
المبدئي
(عادةً root).
يحدد user
المستخدم
المستخدم
للتدوير
ويحدد group
المجموعة
المستخدمة
للتدوير
(انظر القسم
USER AND GROUP
للتفاصيل).
إذا لم يكن
لدى
المستخدم/المجموعة
التي
تحددها هنا
صلاحية
كافية
لإنشاء
ملفات
بالملكية
التي
حددتها في
توجيه create،
فسيسبب خطأ.
إذا كان logrotate
يعمل
بصلاحيات
root، يُوصى
باستخدام
توجيه su
لتدوير
الملفات في
الدلائل
التي تخضع
بشكل مباشر
أو غير
مباشر
لسيطرة
مستخدمين
غير مميزين.
التكرار
- hourly
- تُدور
ملفات
السجل كل
ساعة. لاحظ
أن logrotate يُهيأ
عادةً
ليعمل
بواسطة cron
يومياً (أو
بواسطة logrotate.timer
عند
استخدام
systemd(1)). يجب
عليك تغيير
هذه
التهيئة
وتشغيل logrotate
كل ساعة
لتتمكن من
تدوير
السجلات
فعلياً كل
ساعة.
- daily
- تُدور
ملفات
السجل كل
يوم.
- weekly
[weekday]
- تُدور
ملفات
السجل مرة
واحدة كل
weekday، أو إذا
تقدم
التاريخ
بمقدار 7
أيام على
الأقل منذ
آخر تدوير
(مع تجاهل
الوقت
المحدد).
تفسير weekday هو
التالي: 0
يعني
الأحد، 1
يعني
الاثنين،
...، 6 يعني
السبت؛
القيمة
الخاصة 7
تعني كل 7
أيام، بغض
النظر عن
يوم
الأسبوع.
المبدئي هو
0 إذا حُذفت
وسيطة weekday.
- شهريًا
- تُدور
ملفات
السجل في
أول مرة
يُشغل فيها
logrotate خلال
الشهر
(عادةً في
اليوم
الأول من
الشهر).
- سنويًا
- تُدور
ملفات
السجل إذا
كانت السنة
الحالية
مختلفة عن
آخر تدوير.
- size
size
- تُدور
ملفات
السجل فقط
إذا زاد
حجمها عن size
بايت. إذا
تبع size حرف
k، يُفترض
أن الحجم
بالكيلوبايت.
إذا
استُخدم M،
فالحجم
بالميغابايت،
وإذا
استُخدم G،
فالحسم
بالغيغابايت.
لذا size 100 وsize 100k
وsize 100M وsize 100G
كلها صالحة.
هذا الخيار
حصري مع
خيارات
الفترات
الزمنية،
ويتسبب في
تدوير
ملفات
السجل دون
اعتبار
لآخر وقت
تدوير، إذا
حُدد بعد
معايير
الوقت
(الخيار
الأخير
المُحدد له
الأولوية).
اختيار
الملف
- missingok
- إذا كان ملف
السجل
مفقودًا،
انتقل إلى
التالي دون
إصدار
رسالة خطأ.
انظر أيضًا
nomissingok.
- nomissingok
- إذا لم يوجد
ملف سجل،
أصدر خطأ.
هذا هو
المبدئي.
- ignoreduplicates
- تجاهل أي
تطابقات
لاحقة لملف
سجل.
- ifempty
- دور ملف
السجل حتى
لو كان
فارغًا،
متجاوزًا
خيار notifempty (ifempty
هو
المبدئي).
- notifempty
- لا تُدِر
السجل إذا
كان فارغًا
(هذا يتجاوز
خيار ifempty).
- minage
count
- لا تُدِر
السجلات
التي عمرها
أقل من <count>
يومًا.
- maxage
count
- إزالة
سجلات
التدوير
الأقدم من
<count> يومًا.
يتم التحقق
من العمر
فقط إذا كان
ملف السجل
سيُدور. لا
يعيق rotate -1
الإزالة.
تُرسل
الملفات
بالبريد
إلى
العنوان
المُهيأ
إذا تم
تهيئة maillast و
mail.
- minsize
size
- تُدور
ملفات
السجل
عندما تنمو
أكبر من size
بايت، ولكن
ليس قبل
الفاصل
الزمني
المحدد
إضافيًا
(daily، weekly، monthly،
أو yearly). خيار
size المرتبط
مشابه
باستثناء
أنه متبادل
مع خيارات
الفاصل
الزمني،
ويتسبب في
تدوير
ملفات
السجل دون
اعتبار
لآخر وقت
تدوير، إذا
تم تحديده
بعد معايير
الوقت
(الخيار
المحدد
آخرًا يأخذ
الأولوية).
عند
استخدام
minsize، يُؤخذ
في
الاعتبار
كل من حجم
وطابع زمني
لملف السجل.
- maxsize
size
- تُدور
ملفات
السجل
عندما تنمو
أكبر من size
بايت حتى
قبل الفاصل
الزمني
المحدد
إضافيًا
(daily، weekly، monthly،
أو yearly). خيار
size المرتبط
مشابه
باستثناء
أنه متبادل
مع خيارات
الفاصل
الزمني،
ويتسبب في
تدوير
ملفات
السجل دون
اعتبار
لآخر وقت
تدوير، إذا
تم تحديده
بعد معايير
الوقت
(الخيار
المحدد
آخرًا يأخذ
الأولوية).
عند
استخدام
maxsize، يُؤخذ
في
الاعتبار
كل من حجم
وطابع زمني
لملف السجل.
- tabooext [+]
list
- تُغير
قائمة
الامتدادات
المحظورة
الحالية
(انظر توجيه
include للحصول
على
معلومات
حول
الامتدادات
المحظورة).
إذا سبق +
قائمة
الامتدادات،
تُوسع
قائمة
الامتدادات
المحظورة
الحالية،
وإلا
تُستبدل.
عند بدء
التشغيل،
قائمة
الامتدادات
المحظورة
هي ,v، .bak،
.cfsaved، .disabled، .dpkg-bak،
.dpkg-del، .dpkg-dist،
.dpkg-new، .dpkg-old، .dpkg-tmp،
.new، .old، .orig،
.rhn-cfg-tmp-*، .rpmnew،
.rpmorig، .rpmsave، .swp،
.ucf-dist، .ucf-new، .ucf-old،
~
- taboopat [+]
list
- تُغير
قائمة
أنماط glob
المحظورة
الحالية
(انظر توجيه
include للحصول
على
معلومات
حول
الامتدادات
والأنماط
المحظورة).
إذا سبق +
قائمة
الأنماط،
تُوسع
قائمة
الأنماط
المحظورة
الحالية،
وإلا
تُستبدل.
عند بدء
التشغيل،
قائمة
الأنماط
المحظورة
فارغة.
الملفات
والمجلدات
- create mode
owner group، create owner
group
- مباشرة بعد
التدوير
(قبل تشغيل
برنامج postrotate)
يُنشأ ملف
السجل (بنفس
اسم ملف
السجل الذي
دُور للتو).
يحدد mode وضع
ملف السجل
بالنظام
الثماني
(نفس chmod(2))،
ويحدد owner
المستخدم
الذي
سيمتلك ملف
السجل،
ويحدد group
المجموعة
التي
سينتمي
إليها ملف
السجل (انظر
القسم USER AND GROUP
للتفاصيل).
يمكن حذف أي
من سمات ملف
السجل، وفي
هذه الحالة
ستستخدم
تلك السمات
للملف
الجديد نفس
قيم ملف
السجل
الأصلي
للسمات
المحذوفة.
يمكن تعطيل
هذا الخيار
باستخدام
خيار nocreate.
- nocreate
- لا تُنشأ
ملفات سجل
جديدة (هذا
يتجاوز
خيار create).
- createolddir
mode [owner [group]]، createolddir
[owner [group]]
- إذا لم يكن
الدليل
المحدد
بواسطة
توجيه olddir
موجودًا،
يُنشأ. يحدد
mode وضع دليل
olddir بالنظام
الثماني
(نفس chmod(2))،
ويحدد owner
المستخدم
الذي
سيمتلك
دليل olddir،
ويحدد group
المجموعة
التي
سينتمي
إليها دليل
olddir (انظر
القسم USER AND GROUP
للتفاصيل).
إذا لم
يُحدد mode،
يُفترض 0755.
يمكن تعطيل
هذا الخيار
باستخدام
خيار nocreateolddir.
- nocreateolddir
- لا يُنشأ
دليل olddir
بواسطة logrotate
عندما لا
يكون
موجودًا.
- copy
- إنشاء نسخة
من ملف
السجل،
ولكن دون
تغيير
الأصل على
الإطلاق.
يمكن
استخدام
هذا
الخيار،
على سبيل
المثال،
لأخذ لقطة
من ملف
السجل
الحالي، أو
عندما
تحتاج أداة
أخرى إلى
اقتطاع
الملف أو
تحليله. عند
استخدام
هذا
الخيار، لن
يكون لخيار
create أي
تأثير، حيث
يبقى ملف
السجل
القديم في
مكانه. يسمح
خيار copy
بتخزين
ملفات
السجل
المدورة
على أجهزة
مختلفة
باستخدام
توجيه olddir.
- nocopy
- لا تنسخ ملف
السجل
الأصلي
واتركه في
مكانه. (هذا
يتجاوز
خيار copy).
- copytruncate
- اقتطع ملف
السجل
الأصلي إلى
حجم صفري في
مكانه بعد
إنشاء
نسخة،
بدلاً من
نقل ملف
السجل
القديم
وإنشاء ملف
جديد
اختيارياً.
يمكن
استخدامه
عندما لا
يمكن إخبار
برنامج ما
بإغلاق ملف
سجله
وبالتالي
قد يستمر في
الكتابة
(الإلحاق)
إلى ملف
السجل
السابق إلى
الأبد. لاحظ
أن هناك
فاصل زمني
صغير جداً
بين نسخ
الملف
واقتطاعه،
لذا قد
تُفقد بعض
بيانات
التسجيل.
عند
استخدام
هذا
الخيار، لن
يكون لخيار
create أي
تأثير، حيث
يبقى ملف
السجل
القديم في
مكانه. يسمح
خيار copytruncate
بتخزين
ملفات
السجل
المدورة
على أجهزة
مختلفة
باستخدام
توجيه olddir.
يستلزم
خيار copytruncate
الخيار norenamecopy.
- nocopytruncate
- لا تقتطع
ملف السجل
الأصلي في
مكانه بعد
إنشاء نسخة
(هذا يتجاوز
خيار copytruncate).
- renamecopy
- يُعاد
تسمية ملف
السجل إلى
اسم ملف
مؤقت في نفس
الدليل
بإضافة
الامتداد
".tmp" إليه.
بعد ذلك،
يُشغل نص
postrotate ويُنسخ
ملف السجل
من الاسم
المؤقت إلى
الاسم
النهائي. في
النهاية،
يُحذف
الاسم
المؤقت.
يسمح خيار
renamecopy بتخزين
ملفات
السجل
المدورة
على أجهزة
مختلفة
باستخدام
توجيه olddir.
يستلزم
خيار renamecopy
الخيار nocopytruncate.
- norenamecopy
- لا تُعد
تسمية ملف
السجل
الأصلي ولا
تنسخه (هذا
يتجاوز
خيار renamecopy).
- shred
- احذف ملفات
السجل
باستخدام
shred -u بدلاً من
unlink(). يجب أن
يضمن هذا
عدم
إمكانية
قراءة
السجلات
بعد حذفها
المجدول؛
هذا معطل
مبدئياً.
انظر أيضًا
noshred.
- noshred
- لا تستخدم
shred عند حذف
ملفات
السجل
القديمة.
انظر أيضًا
shred.
- shredcycles
count
- يطلب من GNU shred(1)
الكتابة
فوق ملفات
السجل count
مرة قبل
الحذف. بدون
هذا
الخيار،
سيُستخدم
المبدئي لـ
shred.
- allowhardlink
- دور
الملفات
ذات
الروابط
الصلبة
المتعددة؛
هذا معطل
مبدئياً. قد
يُفرغ
الملف
الهدف،
مثلاً
باستخدام
shred أو copytruncate.
استخدم
بحذر، خاصة
عند تدوير
ملفات
السجل كجذر.
- noallowhardlink
- لا تدور
الملفات
ذات
الروابط
الصلبة
المتعددة.
انظر أيضًا
allowhardlink.
الضغط
- compress
- يتم ضغط
الإصدارات
القديمة من
ملفات
السجل
باستخدام
gzip(1)
افتراضيًا.
انظر أيضًا
nocompress.
- nocompress
- لا تُضغط
الإصدارات
القديمة من
ملفات
السجل. انظر
أيضًا compress.
- compresscmd
- يحدد الأمر
المستخدم
لضغط ملفات
السجل.
المبدئي هو
gzip(1). انظر
أيضًا compress.
- uncompresscmd
- يحدد الأمر
المستخدم
لفك ضغط
ملفات
السجل.
المبدئي هو
gunzip(1).
- compressext
- يحدد
الامتداد
المستخدم
لملفات
السجل
المضغوطة،
إذا كان
الضغط
مفعّلاً.
يتبع
المبدئي
امتداد أمر
الضغط
المُهيأ.
- compressoptions
- يمكن تمرير
خيارات سطر
الأوامر
إلى برنامج
الضغط، إذا
كان قيد
الاستخدام.
المبدئي لـ
gzip(1) هو "-6"
(يميل نحو
الضغط
العالي على
حساب
السرعة).
إذا
استخدمت
أمر ضغط
مختلفًا،
قد تحتاج
إلى تغيير
compressoptions
ليتوافق.
- delaycompress
- يؤجل ضغط
ملف السجل
السابق إلى
دورة
التدوير
التالية.
يكون لهذا
تأثير فقط
عند
استخدامه
مع compress. يمكن
استخدامه
عندما لا
يمكن إخبار
برنامج ما
بإغلاق ملف
سجله،
وبالتالي
قد يستمر في
الكتابة
إلى ملف
السجل
السابق
لبعض الوقت.
- nodelaycompress
- لا يؤجل ضغط
ملف السجل
السابق إلى
دورة
التدوير
التالية
(يتجاوز هذا
خيار delaycompress).
أسماء
الملفات
- extension
ext
- يمكن
لملفات
السجل ذات
الامتداد
ext
الاحتفاظ
به بعد
التدوير.
إذا
استُخدم
الضغط،
يظهر
امتداد
الضغط
(عادةً .gz)
بعد ext. على
سبيل
المثال،
لديك ملف
سجل باسم mylog.foo
وتريد
تدويره إلى
mylog.1.foo.gz بدلاً من
mylog.foo.1.gz.
- addextension
ext
- تُعطى
ملفات
السجل
الامتداد
النهائي ext
بعد
التدوير.
إذا كان
الملف
الأصلي
ينتهي
بالفعل بـ
ext، لا
يُكرر
الامتداد،
بل يُنقل
فقط إلى
النهاية،
أي أن كلاً
من filename و filenameext
سيُدوران
إلى filename.1ext. إذا
استُخدم
الضغط،
يظهر
امتداد
الضغط
(عادةً .gz)
بعد ext.
- start
count
- هذا هو
الرقم
المستخدم
كأساس
للتدوير.
على سبيل
المثال،
إذا حددت 0،
فسيتم
إنشاء
السجلات
بامتداد .0
عند
تدويرها من
ملفات
السجل
الأصلية.
إذا حددت 9،
فسيتم
إنشاء
ملفات
السجل
بامتداد .9،
متجاوزة 0–8.
ستستمر
ملفات
التدوير
بعدد
المرات
المحددة
بتوجيه rotate.
- dateext
- أرشفة
الإصدارات
القديمة من
ملفات
السجل
بإضافة
امتداد
تاريخ مثل YYYYMMDD
بدلاً من
إضافة رقم
فقط. يمكن
تكوين
الامتداد
باستخدام
خياري dateformat و
dateyesterday.
- nodateext
- لا تقم
بأرشفة
الإصدارات
القديمة من
ملفات
السجل
بامتداد
تاريخ
(يتجاوز هذا
خيار dateext).
- dateformat
format_string
- حدد
الامتداد
لـ dateext
باستخدام
تدوين
مشابه
لدالة strftime(3).
يُسمح فقط
بمحددات %Y %m %d %H %M %S
%V %s و %z. القيمة
المبدئية
هي -%Y%m%d
باستثناء
الساعة،
والتي
تستخدم -%Y%m%d%H
كقيمة
مبدئية.
لاحظ أن
الحرف
الفاصل بين
اسم السجل
والامتداد
هو جزء من
سلسلة
تنسيق
التاريخ.
يجب ضبط
ساعة
النظام بعد
9 سبتمبر 2001
لكي يعمل %s
بشكل صحيح.
لاحظ أن
الطوابع
الزمنية
الناتجة عن
هذا
التنسيق
يجب أن تكون
قابلة
للترتيب
معجميًا (أي
أولاً
السنة، ثم
الشهر، ثم
اليوم. على
سبيل
المثال 2001/12/01
مقبول، لكن
01/12/2001 غير
مقبول، لأن
01/11/2002 سيتم
ترتيبه أقل
رغم أنه
أحدث). هذا
لأنه عند
استخدام
خيار rotate،
يقوم logrotate
بترتيب
جميع أسماء
الملفات
المدورة
لمعرفة أي
ملفات
السجل أقدم
ويجب
إزالتها.
- dateyesterday
- استخدم
تاريخ
الأمس
بدلاً من
تاريخ
اليوم
لإنشاء
امتداد dateext،
بحيث يحتوي
ملف السجل
المدور على
تاريخ في
اسمه مطابق
للطوابع
الزمنية
داخله.
- datehourago
- استخدم
الساعة
الماضية
بدلاً من
التاريخ
الحالي
لإنشاء
امتداد dateext،
بحيث يحتوي
ملف السجل
المدور على
ساعة في
اسمه
مطابقة
للطوابع
الزمنية
داخله. مفيد
مع التدوير
hourly.
البريد
- mail
address
- عند تدوير
سجل خارج
الوجود،
يتم إرساله
بالبريد
إلى address. إذا
لم يتم
إنشاء بريد
لسجل معين،
يمكن
استخدام
توجيه nomail.
- nomail
- لا ترسل
ملفات
السجل
القديمة
بالبريد
إلى أي
عنوان.
- mailfirst
- عند
استخدام
أمر mail،
أرسل
بالبريد
الملف الذي
تم تدويره
للتو،
بدلاً من
الملف الذي
على وشك
الانتهاء.
- maillast
- عند
استخدام
أمر mail،
أرسل
بالبريد
الملف الذي
على وشك
الانتهاء،
بدلاً من
الملف الذي
تم تدويره
للتو (هذا
هو
المبدئي).
ملفات
إعدادات
إضافية
- include
ملف_أو_دليل
- يقرأ الملف
المعطى
كوسيطة كما
لو كان
مضمنًا
سطريًا حيث
يظهر توجيه
include. إذا تم
إعطاء
دليل،
تُقرأ معظم
الملفات في
ذلك الدليل
بترتيب
أبجدي قبل
متابعة
معالجة
الملف
المُضمن.
الملفات
الوحيدة
التي يتم
تجاهلها هي
الملفات
غير
العادية
(مثل الأدلة
والأنابيب
المسماة)
والملفات
التي تنتهي
أسماؤها
بأحد
الامتدادات
أو الأنماط
المحظورة،
كما هو محدد
بواسطة
توجيهات tabooext
أو taboopat، على
التوالي. قد
يبدأ
المسار
المعطى بـ
~/ لجعله
نسبيًا إلى
الدليل
الرئيسي
للمستخدم
المنفذ.
لأسباب
أمنية، يجب
ألا تكون
ملفات
الإعدادات
قابلة
للكتابة من
قبل
المجموعة
أو العالم.
السكربتات
- sharedscripts
- عادةً،
تُشغّل
نصوص prerotate و
postrotate لكل سجل
يتم تدويره
ويُمرر
المسار
المطلق
لملف السجل
كوسيطة
أولى للنص.
هذا يعني أن
نصًا
واحدًا قد
يُشغّل عدة
مرات
لإدخالات
ملف السجل
التي تطابق
ملفات
متعددة (مثل
مثال /var/log/news/*).
إذا تم
تحديد sharedscripts،
تُشغّل
النصوص مرة
واحدة فقط،
بغض النظر
عن عدد
السجلات
التي تطابق
النمط
البدلي،
ويُمرر
النمط
الكامل
إليها. ومع
ذلك، إذا لم
يتطلب أي من
السجلات في
النمط
التدوير،
فلن تُشغّل
النصوص على
الإطلاق.
إذا خرجت
النصوص
بخطأ (أو
فشل أي سجل
في
التدوير)،
لن تُنفذ
الإجراءات
المتبقية
لأي سجلات.
هذا الخيار
يتجاوز
خيار nosharedscripts.
- nosharedscripts
- شغّل نصوص
prerotate و postrotate لكل
ملف سجل يتم
تدويره (هذا
هو
المبدئي،
ويتجاوز
خيار sharedscripts).
يُمرر
المسار
المطلق
لملف السجل
كوسيطة
أولى للنص.
يُمرر
المسار
المطلق
لملف السجل
المدور
النهائي
كوسيطة
ثانية لنص
postrotate. إذا
خرجت
النصوص
بخطأ، لن
تُنفذ
الإجراءات
المتبقية
للسجل
المتأثر
فقط.
- firstaction
-
- نص
-
- endscript
يُنفذ
النص مرة
واحدة قبل
تدوير جميع
ملفات
السجلات
التي
تطابق
- النمط
البدلي،
قبل تشغيل
نص prerotate وفقط
إذا كان
سيتم تدوير
سجل واحد
على الأقل.
قد تظهر هذه
التوجيهات
فقط داخل
تعريف ملف
سجل. يُمرر
النمط
الكامل
للنص
كوسيطة
أولى. إذا
خرج النص
بخطأ، لا
يتم إجراء
أي معالجة
إضافية.
انظر أيضًا
lastaction وقسم SCRIPTS.
- lastaction
-
- نص
-
- endscript
يُنفذ
النص مرة
واحدة بعد
تدوير جميع
ملفات
السجلات
التي
تطابق
- النمط
البدلي،
بعد تشغيل
نص postrotate وفقط
إذا تم
تدوير سجل
واحد على
الأقل. قد
تظهر هذه
التوجيهات
فقط داخل
تعريف ملف
سجل. يُمرر
النمط
الكامل
للنص
كوسيطة
أولى. إذا
خرج النص
بخطأ، يتم
عرض رسالة
خطأ فقط
(لأن هذا هو
الإجراء
الأخير).
انظر أيضًا
firstaction وقسم SCRIPTS.
- prerotate
-
- نص
-
- endscript
يُنفذ
النص قبل
تدوير ملف
السجل
وسجلاته
القديمة
وفقط إذا
كان
- السجل سيتم
تدويره
بالفعل. قد
تظهر هذه
التوجيهات
فقط داخل
تعريف ملف
سجل. عادةً،
يُمرر
المسار
المطلق
لملف السجل
كوسيطة
أولى للنص.
إذا تم
تحديد sharedscripts،
يُمرر
النمط
الكامل
للنص. انظر
أيضًا postrotate
وقسم SCRIPTS.
انظر sharedscripts و
nosharedscripts
لمعالجة
الأخطاء.
- postrotate
-
- نص
-
- endscript
يُنفذ
النص بعد
تدوير ملف
السجل وقبل
ضغط ملف
السجل. قد
تظهر
- هذه
التوجيهات
فقط داخل
تعريف ملف
سجل. عادةً،
يُمرر
المسار
المطلق
لملف السجل
كوسيطة
أولى للنص
ويُمرر
المسار
المطلق
لملف السجل
المدور
النهائي
كوسيطة
ثانية للنص.
إذا تم
تحديد sharedscripts،
يُمرر
النمط
الكامل
كوسيطة
أولى للنص،
ويتم حذف
الوسيطة
الثانية.
انظر أيضًا
prerotate وقسم SCRIPTS.
انظر sharedscripts و
nosharedscripts
لمعالجة
الأخطاء.
- preremove
-
- نص
-
- endscript
يُنفذ
النص مرة
واحدة قبل
إزالة ملف
سجل
مباشرةً.
يمرر
- logrotate اسم
الملف الذي
سيتم
إزالته
قريبًا
كوسيطة
أولى للنص.
انظر أيضًا
firstaction وقسم SCRIPTS.
سكربتات
تُنفذ
الأسطر بين
الكلمة
المفتاحية
البادئة
(مثل prerotate) و endscript
(يجب أن يظهر
كلاهما في
أسطر
منفردة)
(باستخدام
/bin/sh). يرث النص
بعض السمات
من عملية
logrotate، بما في
ذلك stderr و stdout
والدليل
الحالي
والبيئة و umask.
تُشغّل
النصوص
كمستخدم
ومجموعة
المستدعي،
بغض النظر
عن أي توجيه
su. إذا تم
تحديد
علامة --log،
فإن واصف
الملف 3 هو
ملف السجل.
دليل العمل
الحالي غير
محدد.
المستخدم
والمجموعة
يتم حل
معرفات
المستخدم
والمجموعة
أولاً
بمحاولة
التمثيل
النصي، وفي
حالة فشله،
لاحقًا
بالقيمة
الرقمية.
الملفات
| /var/lib/logrotate/status |
ملف
الحالة
المبدئي. |
| /etc/logrotate.conf |
خيارات
التهيئة. |
انظر
أيضًا
المؤلفون
Erik Troan, Preston Brown, Jan Kaluza.
<https://github.com/logrotate/logrotate>
ترجمة
تُرجمت
هذه الصفحة
من الدليل
بواسطة
زايد
السعيدي
<zayed.alsaidi@gmail.com>
هذه
الترجمة هي
وثيقة
مجانية؛
راجع
رخصة
جنو العامة
الإصدار 3
أو ما بعده
للاطلاع
على شروط
حقوق النشر.
لا توجد أي
ضمانات.
إذا وجدت
أي أخطاء في
ترجمة صفحة
الدليل
هذه، يرجى
إرسال بريد
إلكتروني
إلى قائمة
بريد
المترجمين:
kde-l10n-ar@kde.org.