table of contents
| LOGROTATE(8) | دليل مدير النظام | LOGROTATE(8) |
الاسم¶
logrotate ‐ يدير، يضغط، ويرسل سجلات النظام عبر البريد
موجز¶
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/misc/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) المستلم. - يجب على الأمر بعد ذلك قراءة رسالة من المدخل القياسي وإرسالها بالبريد إلى المستلم. أمر البريد المبدئي هو /bin/mail.
ملف الضبط¶
يقرأ 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، على التوالي. قد يبدأ المسار المعطى بـ ~/ لجعله نسبيًا إلى الدليل الرئيسي للمستخدم المنفذ. لأسباب أمنية، يجب ألا تكون ملفات الإعدادات قابلة للكتابة من قبل المجموعة أو العالم.
السكربتات¶
- عادةً، تُشغّل نصوص prerotate و postrotate لكل سجل يتم تدويره ويُمرر المسار المطلق لملف السجل كوسيطة أولى للنص. هذا يعني أن نصًا واحدًا قد يُشغّل عدة مرات لإدخالات ملف السجل التي تطابق ملفات متعددة (مثل مثال /var/log/news/*). إذا تم تحديد sharedscripts، تُشغّل النصوص مرة واحدة فقط، بغض النظر عن عدد السجلات التي تطابق النمط البدلي، ويُمرر النمط الكامل إليها. ومع ذلك، إذا لم يتطلب أي من السجلات في النمط التدوير، فلن تُشغّل النصوص على الإطلاق. إذا خرجت النصوص بخطأ (أو فشل أي سجل في التدوير)، لن تُنفذ الإجراءات المتبقية لأي سجلات. هذا الخيار يتجاوز خيار 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/misc/logrotate.status | ملف الحالة المبدئي. |
| /etc/logrotate.conf | خيارات التهيئة. |
انظر أيضًا¶
chmod(2), gunzip(1), gzip(1), mail(1), shred(1), strftime(3), strtoul(3), <https://github.com/logrotate/logrotate>
المؤلفون¶
Erik Troan, Preston Brown, Jan Kaluza. <https://github.com/logrotate/logrotate>
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 3.22.0 | لينكس |