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/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 | خيارات التهيئة.

انظر أيضًا

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 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.