التدوير والتنظيف الآليان للسجلات
حافظ على سلامة الأقراص عبر أتمتة تدوير السجلات وتنظيف الملفات القديمة باستخدام 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يضغط السجلات التي تم تدويرها باستخدام gzipmissingokيتخطى الملف إذا كان مفقودًا
الاختبار دون انتظار
أجبر التشغيل باستخدام -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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- جدولة المهام باستخدام Cron
- أتمتة إدارة النظام
- مشروع Scripting متقدم
- التدوير والتنظيف الآليان للسجلات