في عالم إدارة الخوادم والمواقع الإلكترونية، يصبح الوقت عاملاً حاسمًا، خصوصًا عند تكرار نفس المهام بشكل يومي أو أسبوعي، مثل تحديث النظام أو أخذ نسخة احتياطية أو مسح ذاكرة التخزين المؤقت. ومن هنا تظهر أهمية أدوات الأتمتة، وعلى رأسها Bash Script الذي يُعتبر أداة فعالة في نظام التشغيل لينُكس (Linux).
سواء كنت مبتدئًا في إدارة الخوادم أو مطورًا محترفًا في نظم إدارة المحتوى مثل WordPress وDrupal، فإن تعلم كيفية كتابة سكربت Bash سيمنحك قوة التحكم في النظام ويوفر عليك الكثير من الوقت والجهد. في هذه المقالة، سنشرح مفهوم Bash Script، كيفية إنشائه خطوة بخطوة، متى نحتاج إليه، وأمثلة عملية عليه. وسنختم بشرح كيف يمكن استخدامه بذكاء في إدارة مواقع ووردبريس ودروبال.
ما هو Bash Script؟
مدخل: لفهم أهمية Bash Script، علينا أولاً أن نعرف ما هو وما فائدته.
Bash Script هو ملف نصي يُكتب بلغة Bash، ويحتوي على سلسلة من الأوامر التي تُنفذ تلقائيًا عند تشغيل الملف. وهو يشبه إلى حد كبير قائمة بالأوامر التي تكتبها في الطرفية (Terminal)، لكن بدلًا من تنفيذها يدويًا واحدة تلو الأخرى، تضعها كلها في ملف سكربت، وتنفذها دفعة واحدة.
متى نحتاج إلى Bash Script؟
مدخل: استخدام Bash Script لا يقتصر على المطورين فقط، بل يحتاجه أي مستخدم يتعامل مع الخادم أو النظام بشكل متكرر.
- عند تكرار نفس الأوامر بشكل يومي أو أسبوعي.
- عند إعداد بيئة جديدة تلقائيًا (مثل تثبيت البرامج أو المواقع).
- عند الحاجة لأخذ نسخ احتياطية للملفات أو قواعد البيانات.
- لتنفيذ أوامر خاصة أثناء النشر (Deployment).
كيف ننشئ Bash Script؟
مدخل: إنشاء سكربت Bash سهل جدًا ولا يتطلب أدوات معقدة. إليك الخطوات الأساسية.
- افتح الطرفية (Terminal).
- أنشئ ملفًا جديدًا باستخدام الأمر:
nano script.sh
. - في السطر الأول، أضف التعليمة التالية:
#!/bin/bash
- أضف أوامرك واحدة تلو الأخرى.
- احفظ الملف واخرج باستخدام
Ctrl + O
ثمCtrl + X
. - اجعل الملف قابلًا للتنفيذ بالأمر:
chmod +x script.sh
. - نفّذ السكربت:
./script.sh
ثلاثة أمثلة عملية على Bash Script
مدخل: فيما يلي أمثلة حقيقية يمكن تعديلها حسب حاجتك اليومية.
مثال 1: تحديث النظام تلقائيًا
#!/bin/bash
echo "تحديث النظام..."
sudo apt update && sudo apt upgrade -y
echo "تم التحديث بنجاح."
مثال 2: نسخ احتياطي للمجلدات وقاعدة البيانات
#!/bin/bash
DATE=$(date +%F)
DB_NAME="mydb"
DB_USER="root"
DB_PASS="mypassword"
BACKUP_DIR="/home/user/backups"
SITE_DIR="/var/www/html"
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_$DATE.sql
tar -czf $BACKUP_DIR/site_$DATE.tar.gz $SITE_DIR
echo "تم النسخ الاحتياطي بنجاح."
مثال 3: تحية حسب الوقت
#!/bin/bash
HOUR=$(date +%H)
if [ "$HOUR" -lt 12 ]; then
echo "صباح الخير!"
elif [ "$HOUR" -lt 18 ]; then
echo "مساء الخير!"
else
echo "ليلة سعيدة!"
fi
استخدام Bash Script مع WordPress وDrupal
مدخل: أدوات Bash Script تصبح أقوى عند دمجها مع أدوات سطر الأوامر الخاصة بـ WordPress (WP-CLI) وDrupal (Drush).
١. تحديث تلقائي للموقع
WordPress:
#!/bin/bash
wp core update
wp plugin update --all
Drupal:
#!/bin/bash
drush up -y
٢. تنظيف الكاش
WordPress: wp cache flush
Drupal: drush cr
٣. سكربت نسخ احتياطي للموقع وقاعدة البيانات
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR="/home/user/backups"
SITE_DIR="/var/www/html"
DB_NAME="mydb"
DB_USER="user"
DB_PASS="pass"
# قاعدة البيانات
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_$DATE.sql
# ملفات الموقع
tar -czf $BACKUP_DIR/files_$DATE.tar.gz $SITE_DIR
echo "تم النسخ الاحتياطي بنجاح."
٤. جدولة السكربت تلقائيًا
باستخدام الأمر crontab -e
يمكنك جدولة تنفيذ السكربت يوميًا أو أسبوعيًا:
0 2 * * * /home/user/scripts/backup.sh
الخلاصة
Bash Script هو أداة مذهلة في عالم إدارة الأنظمة والمواقع، خاصة لمطوري ومشرفي مواقع WordPress وDrupal. بفضل مرونته وقوته، يمكن استخدامه لأتمتة التحديثات، النسخ الاحتياطي، تنظيف الكاش، وغير ذلك الكثير.
تعلمه يُعتبر من المهارات الأساسية لأي شخص يدير مواقع أو خوادم، ويساهم بشكل مباشر في تقليل الأخطاء وتوفير الوقت وتحقيق الكفاءة العالية في العمل.
التعليقات