أتمتة إدارة النظام
طبّقوا Bash scripting لأتمتة مهام إدارة النظام الشائعة، مثل النسخ الاحتياطي وتدوير السجلات والمراقبة.
أتمتة إدارة النظام درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
مقدمة إلى أتمتة إدارة الأنظمة
مرحبًا! في هذا الدرس، سنتعمق في أتمتة مهام إدارة الأنظمة الشائعة باستخدام برامج Bash النصية. هنا تتألق مهاراتك في كتابة البرامج النصية حقًا!
تساعد الأتمتة على جعل إدارة الأنظمة أكثر كفاءة واتساقًا وأقل عرضة للأخطاء البشرية. وهي مهارة أساسية لأي مطوّر أو متخصص في تقنية المعلومات.
لماذا نؤتمت مهام إدارة الأنظمة؟
توفر أتمتة المهام المتكررة فوائد كبيرة:
- الكفاءة: تُنفَّذ المهام بسرعة ومن دون تدخل يدوي.
- الاتساق: تضمن تنفيذ المهام بالطريقة نفسها في كل مرة، مما يقلل الأخطاء.
- الموثوقية: يمكن جدولة البرامج النصية لتعمل بانتظام حتى في غيابك.
- قابلية التوسع: يمكنك تطبيق العمليات نفسها بسهولة على العديد من الأنظمة.
الأهداف الشائعة للأتمتة
تُعد العديد من مهام إدارة الأنظمة مرشحة مثالية للأتمتة:
- النسخ الاحتياطي: نسخ البيانات المهمة بانتظام.
- إدارة السجلات: تنظيف السجلات القديمة أو تدويرها.
- مراقبة النظام: فحص مساحة القرص ووحدة المعالجة المركزية واستخدام الذاكرة.
- إدارة المستخدمين: إنشاء حسابات المستخدمين أو حذفها.
- تحديثات البرامج: إبقاء الحزم محدّثة.
كتابة برنامج نصي لنسخ احتياطي بسيط
تُعدّ عملية نسخ البيانات احتياطيًا من أكثر المهام أهمية. يمكن لبرنامج نسخ احتياطي أساسي نسخ ملفات أو أدلة محددة إلى موقع آمن، وغالبًا مع إضافة طابع زمني.
يمكننا استخدام الأمر cp إلى جانب الأمر date لإنشاء أدلة نسخ احتياطية فريدة.
تشغيل: نسخ احتياطي يومي للبيانات
ينشئ هذا البرنامج النصي نسخة احتياطية مؤرخة زمنيًا من دليل 'my_data' داخل مجلد 'backups'. تذكّر استبدال /path/to/my_data بدليل حقيقي على نظامك لاختباره.
#!/bin/bash
SOURCE_DIR="/tmp/my_data"
BACKUP_DIR="/tmp/backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p "$SOURCE_DIR"
echo "Hello from CoddyKit!" > "$SOURCE_DIR/file1.txt"
echo "More data." > "$SOURCE_DIR/file2.txt"
mkdir -p "$BACKUP_DIR"
# Perform the backup
cp -r "$SOURCE_DIR" "$BACKUP_DIR/backup_$TIMESTAMP"
echo "Backup created at: $BACKUP_DIR/backup_$TIMESTAMP"أتمتة تنظيف السجلات
تنمو ملفات السجلات بسرعة وقد تستهلك مساحة كبيرة من القرص. وتُعد أتمتة تنظيفها أو تدويرها أمرًا ضروريًا للحفاظ على سلامة النظام.
يمكننا استخدام الأمر find للعثور على ملفات السجلات القديمة وحذفها، أو نقلها إلى أرشيف.
تشغيل: مزيل السجلات القديمة
يحذف هذا البرنامج النصي ملفات السجلات الأقدم من 7 أيام من دليل محدد. توخَّ الحذر عند استخدام rm في البرامج النصية الفعلية!
#!/bin/bash
LOG_DIR="/tmp/app_logs"
mkdir -p "$LOG_DIR"
touch "$LOG_DIR/today.log"
touch -d "8 days ago" "$LOG_DIR/old_log_1.log"
touch -d "5 days ago" "$LOG_DIR/recent.log"
touch -d "10 days ago" "$LOG_DIR/old_log_2.log"
echo "Logs before cleanup:"
ls -l "$LOG_DIR"
# Find and delete log files older than 7 days
find "$LOG_DIR" -type f -name "*.log" -mtime +7 -delete
echo "\nLogs after cleanup:"
ls -l "$LOG_DIR"مراقبة استخدام القرص
تُعد مراقبة موارد النظام، مثل مساحة القرص، أمرًا بالغ الأهمية لمنع انقطاع الخدمة. يمكن لبرنامج نصي فحص الاستخدام دوريًا وتنبيهك إذا تجاوز حدًا معينًا.
يعرض الأمر df مقدار مساحة القرص المستخدمة في أنظمة الملفات. ويمكننا تحليل مخرجاته للحصول على النسبة المئوية فقط.
تشغيل: تنبيه بشأن مساحة القرص
يفحص هذا البرنامج النصي استخدام القرص في نظام الملفات الجذر (/) ويطبع تحذيرًا إذا تجاوزت النسبة 80%. يمكنك تعديل THRESHOLD.
#!/bin/bash
THRESHOLD=80
# Get disk usage percentage for root filesystem
USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')
# Check if usage exceeds threshold
if (( USAGE > THRESHOLD )); then
echo "WARNING: Disk usage on / is at ${USAGE}%!"
else
echo "Disk usage on / is ${USAGE}%. All good!"
fiأفضل الممارسات لبرامج إدارة الأنظمة النصية
عند كتابة برامج الأتمتة النصية، ضع أفضل الممارسات التالية في اعتبارك:
- معالجة الأخطاء: استخدم
set -eللخروج عند حدوث خطأ، وأضف عمليات تحقق صريحة من الأخطاء. - التسجيل: أعد توجيه مخرجات البرنامج النصي إلى ملفات سجلات لأغراض التدقيق وتصحيح الأخطاء.
- قابلية التكرار الآمن: صمّم البرامج النصية بحيث يكون لتشغيلها عدة مرات التأثير نفسه لتشغيلها مرة واحدة.
- الإعداد: استخدم المتغيرات أو ملفات إعداد منفصلة للقيم التي يسهل تغييرها.
- الأذونات: تأكد من امتلاك البرامج النصية أذونات التنفيذ الصحيحة (
chmod +x).
التحقق من أتمتة إدارة الأنظمة
أيٌّ من المهام التالية يُعد مرشحًا جيدًا للأتمتة باستخدام برامج Bash النصية في إدارة الأنظمة؟
مراجعة: أتمتة إدارة الأنظمة
أحسنت! لقد تعلمت كيف يمكن لكتابة برامج Bash النصية تحويل مهام إدارة الأنظمة.
لقد تناولنا أتمتة النسخ الاحتياطي وتنظيف السجلات ومراقبة استخدام القرص. تذكّر تطبيق أفضل الممارسات، مثل معالجة الأخطاء والتسجيل، لإنشاء برامج أتمتة نصية متينة وموثوقة.
هذه المهارات بالغة القيمة للحفاظ على أنظمة سليمة وفعالة!
الأسئلة الشائعة
هل درس «أتمتة إدارة النظام» مجاني؟
نعم — نص درس «أتمتة إدارة النظام» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «أتمتة إدارة النظام»؟
طبّقوا Bash scripting لأتمتة مهام إدارة النظام الشائعة، مثل النسخ الاحتياطي وتدوير السجلات والمراقبة. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «أتمتة إدارة النظام»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.