تنفيذ أوامر بعد إقلاع النظام
تعتبر إدارة النظام والخوادم من المهام الحيوية التي تتطلب الكثير من الدقة والاحترافية. عند تشغيل خادم يعمل بنظام تشغيل معين، قد يحتاج المستخدم في بعض الأحيان إلى تنفيذ مجموعة من الأوامر بشكل تلقائي بعد عملية الإقلاع، وذلك لضمان تشغيل التطبيقات الضرورية بسلاسة. لذلك، نجد أن إنشاء برنامج نصي بسيط يمكن أن يساعد في الحفاظ على تشغيل أفضل وتوفير الوقت والجهد. في هذا المقال، سنتناول بشكل مفصل كيفية تنفيذ أوامر معينة بعد إقلاع الخادم.
فهم حاجة تنفيذ الأوامر بعد الإقلاع
عندما يتم إعادة تشغيل خادم يعمل بنظام تشغيل Ubuntu 22.04 ويقوم بتشغيل تطبيقات Node.js باستخدام PM2، هناك العديد من الإعدادات التي يجب أخذها في الاعتبار. على سبيل المثال، يتم استخدام متغير البيئة لتحديد نوع البيئة العاملة، سواء كانت "تطوير" أو "إنتاج". وإذا كان الهدف هو تنفيذ أوامر مثل export ENV_TYPE='dev'
أو إعادة تشغيل عمليات PM2، فمن المهم أن يتم تنفيذ هذه الأوامر تلقائيًا دون الحاجة لتسجيل الدخول إلى الخادم بعد كل إعادة تشغيل.
إنشاء البرنامج النصي
لتحقيق الهدف المطلوب، يمكننا إنشاء برنامج نصي Bash يقوم بتنفيذ الأوامر الضرورية. إليك مثال على كيفية كتابة هذا البرنامج النصي:
#!/bin/bash
# تعيين متغير البيئة
export ENV_TYPE='dev'
# إعادة تشغيل جميع عمليات PM2
pm2 restart all --update-env
بعد كتابة هذا البرنامج النصي، يجب التأكد من أنه قابل للتنفيذ. يمكنك القيام بذلك من خلال تنفيذ الأمر التالي:
chmod +x /path/to/your/script.sh
نحن هنا بحاجة إلى استبدال /path/to/your/script.sh
بمسار البرنامج النصي الذي قمت بإنشائه.
إضافة البرنامج النصي إلى إجراءات التمهيد
الخطوة التالية هي التأكد من أن البرنامج النصي يتم تنفيذه تلقائيًا عند إقلاع النظام. هناك عدة طرق لتحقيق ذلك، ومن بينها استخدام systemd
.
يمكنك إنشاء خدمة جديدة باستخدام systemd
. لتحقيق ذلك، أنشئ ملف خدمة جديد:
sudo nano /etc/systemd/system/my_script.service
ثم أضف المحتوى التالي إلى هذا الملف:
[Unit]
Description=My Script at Boot
[Service]
ExecStart=/path/to/your/script.sh
Restart=always
User=your-username
[Install]
WantedBy=multi-user.target
تأكد من استبدال /path/to/your/script.sh
بالمسار الصحيح للبرنامج النصي، وyour-username
باسم المستخدم المناسب.
بعد الانتهاء من ذلك، يمكنك تفعيل الخدمة باستخدام الأوامر التالية:
sudo systemctl daemon-reload
sudo systemctl enable my_script.service
هذا يضمن أن البرنامج النصي سيتم تنفيذه مباشرة بعد إقلاع الخادم.
اختبار التنفيذ التلقائي
من الضروري اختبار ما إذا كان البرنامج النصي يعمل بالشكل المطلوب. يمكنك القيام بذلك عن طريق إعادة تشغيل الخادم. بعد إعادة التشغيل، تحقق مما إذا كانت العمليات التي تمت إدارتها بواسطة PM2 قد بدأت بنجاح. يمكنك استخدام الأمر التالي:
pm2 list
إذا كانت جميع العمليات تعمل كما هو متوقع، فقد نجحت في إعداد وتنفيذ الأوامر المطلوبة بعد إقلاع الخادم بنجاح.
استنتاج
يتيح لك إنشاء برنامج نصي لتشغيل الأوامر بعد الإقلاع تعزيز التحكم في بيئة تشغيل تطبيقاتك على الخادم. من خلال استخدام systemd
، يمكنك ضمان أن عملياتك ستبقى نشطة دون الحاجة لتدخل يدوي. يمكن أن يؤدي ذلك إلى تحسين الأداء وتقليل وقت التعطل، مما يجعله مثالياً للأعمال التي تعتمد على استمرارية الخدمات. لا تتردد في تعديل البرنامج النصي وفق احتياجاتك الخاصة وبيئة العمل الخاصة بك، فهذا سيوفر لك المزيد من الوقت والجهد في إدارتك للنظام.