0Pricing
Linux Command Line & Bash Scripting Mastery · درس

التدوير والتنظيف الآليان للسجلات

حافظ على سلامة الأقراص عبر أتمتة تدوير السجلات وتنظيف الملفات القديمة باستخدام logrotate ونصوص مجدولة تعتمد على find.

التدوير والتنظيف الآليان للسجلات درس مجاني في Linux Command Line & Bash Scripting Mastery على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Linux Command Line & Bash Scripting Mastery، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Linux Command Line & Bash Scripting Mastery 4 دروس في المجموع.

مشكلة تنامي السجلات

تكتب الخدمات طويلة التشغيل السجلات باستمرار. ومن دون إدارة، تملأ القرص وتتسبب في تعطل النظام. يحافظ التدوير والتنظيف على الوضع تحت السيطرة.

du -sh /var/log/*

ما الذي يفعله تدوير السجلات؟

يعيد التدوير تسمية السجل الحالي، ويبدأ سجلًا جديدًا فارغًا، ويحتفظ بعدد محدود من النسخ القديمة المضغوطة.

  • يصبح app.log هو app.log.1
  • تُضغط النسخ القديمة باستخدام gzip
  • تُحذف أقدم النسخ

مقدمة إلى logrotate

إن logrotate أداة Linux القياسية التي تؤتمت التدوير استنادًا إلى الحجم أو العمر، وتُعرّف إعداداتها ضمن /etc/logrotate.d/.

cat /etc/logrotate.conf

إعداد أساسي لـ logrotate

تسمّي كتلة الإعدادات ملفات السجل وتحدد سياسة التدوير.

/var/log/myapp/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

فهم التوجيهات

التوجيهات الشائعة:

  • daily يدوّر السجلات يوميًا
  • rotate 7 يحتفظ بسبعة ملفات قديمة
  • compress يضغط السجلات التي تم تدويرها باستخدام gzip
  • missingok يتخطى الملف إذا كان مفقودًا

الاختبار دون انتظار

أجبر التشغيل باستخدام -f أو نفّذ تشغيلًا تجريبيًا باستخدام -d للتحقق من الإعدادات قبل الوثوق بالجدولة.

logrotate -d /etc/logrotate.d/myapp
logrotate -f /etc/logrotate.d/myapp

نصوص postrotate

تُبقي خدمات كثيرة واصف الملف القديم مفتوحًا. تُعلم كتلة postrotate الخدمة بإعادة فتح سجلها بعد التدوير.

/var/log/myapp/*.log {
    daily
    postrotate
        systemctl reload myapp
    endscript
}

تنظيف الملفات القديمة باستخدام find

للتنظيف غير الدوري، يحدد find مع -mtime الملفات الأقدم من N يومًا ويحذفها.

find /var/log/myapp -name "*.log" -mtime +30 -delete

نص تنظيف آمن

ضع التنظيف داخل نص برمجي يسجل ما يحذفه، حتى يتوفر لديك سجل تدقيق.

#!/bin/bash
DIR=/var/backups
find "$DIR" -name "*.tar.gz" -mtime +14 -print -delete \
  >> /var/log/cleanup.log 2>&1

جدولة التنظيف

ضع التدوير ضمن logrotate، الذي يُشغّل عبر cron أصلًا، وجدول نصوص التنظيف المخصصة بإدخال crontab خاص بك.

# crontab -e
30 2 * * * /usr/local/bin/cleanup.sh

مراقبة استخدام القرص

أضف آلية تنبيه عند تجاوز أحد الأقسام حدًا معينًا، حتى لا يتأخر التنظيف أكثر من اللازم.

USAGE=$(df --output=pcent / | tr -dc "0-9")
[ "$USAGE" -gt 90 ] && echo "Disk over 90%" | mail -s alert root

تحقّق سريع

اختبر معرفتك بالأتمتة.

مراجعة

لقد أتمتَّ إدارة السجلات:

  • يُدوّر logrotate السجلات حسب العمر أو الحجم باستخدام rotate وcompress وpostrotate
  • تحقق من الإعدادات باستخدام -d و-f
  • استخدم find -mtime +N -delete للتنظيف المخصص
  • جدول المهام باستخدام cron، وأضف حماية عبر تنبيهات استخدام القرص

الأسئلة الشائعة

هل درس «التدوير والتنظيف الآليان للسجلات» مجاني؟

نعم — نص درس «التدوير والتنظيف الآليان للسجلات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Linux Command Line & Bash Scripting Mastery، انتقل إلى CoddyKit PRO. تتضمن دورة Linux Command Line & Bash Scripting Mastery 4 دروس في المجموع.

ماذا ستتعلم في «التدوير والتنظيف الآليان للسجلات»؟

حافظ على سلامة الأقراص عبر أتمتة تدوير السجلات وتنظيف الملفات القديمة باستخدام logrotate ونصوص مجدولة تعتمد على find. تتمرن على Linux Command Line & Bash Scripting Mastery مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Linux Command Line & Bash Scripting Mastery؟

لا تُشترط خبرة سابقة. Linux Command Line & Bash Scripting Mastery على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «التدوير والتنظيف الآليان للسجلات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Linux Command Line & Bash Scripting Mastery هذا؟

نعم. كل درس في Linux Command Line & Bash Scripting Mastery يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. جدولة المهام باستخدام Cron
  2. أتمتة إدارة النظام
  3. مشروع Scripting متقدم
  4. التدوير والتنظيف الآليان للسجلات
← العودة إلى Linux Command Line & Bash Scripting Mastery