كيفية تشغيل مجدول أعمال زمني cron تلقائيًا في WSL على Windows 10 و Windows 11

لدى Windows عدة طرق لأتمتة المهام. الأداة الأكثر شيوعًا هي برنامج جدولة مهام Windows ، ولكن إذا كنت تستخدم نظام Windows الفرعي لنظام التشغيل Linux (WSL) ، فهناك أيضًا برنامج cron الخفي الذي يدير المهام في الخلفية لتثبيت WSL.

shutterstock 1161964939 - كيفية تشغيل مجدول أعمال زمني cron تلقائيًا في WSL على Windows 10 و Windows 11

لا يعمل مجدول الأعمال الزمني افتراضيًا

في نظامي التشغيل Windows 10 و Windows 11 ، يأتي مجدول الأعمال الزمني cron مضمنًا في بيئات Linux مثل Ubuntu. تكمن المشكلة في أن WSL لا يبدأ تشغيل cron تلقائيًا ، مما يعني أن مهامك الآلية لا يتم تنفيذها افتراضيًا.

لإصلاح ذلك ، يمكنك بدء تشغيل cron يدويًا في كل مرة تفتح فيها سطر الأوامر ، ولكن بدء تشغيل أداة من المفترض أن تعمل تلقائيًا على تنفيذ المهام أمر يفتقد إلى النقطة.

لحسن الحظ ، هناك طريقة سهلة لإصلاح ذلك ، ويتطلب ذلك استخدام برنامج جدولة المهام.

CronNotRunning - كيفية تشغيل مجدول أعمال زمني cron تلقائيًا في WSL على Windows 10 و Windows 11

إذا لم تستخدم مجدول الأعمال الزمني cron مطلقًا في Linux لتشغيل المهام ، فراجع برنامجنا التعليمي السابق حول كيفية جدولة المهام على Linux. لأغراضنا هنا ، سنفترض أنك قد أنشأت بالفعل بعض وظائف cron في تثبيت WSL وأنك بحاجة إلى مساعدة للتأكد من أنها تعمل بدلاً من مجالسة الأطفال كرون طوال الوقت.

في هذا البرنامج التعليمي ، سنستخدم خدمة sudo لفحص وبدء cron ، وهي الطريقة الموصى بها لإيقاف الخدمات وبدء تشغيلها في الإصدارات الحديثة من Ubuntu – التوزيع الأكثر شيوعًا لـ WSL.

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

اقرأ أيضا:  أفضل 6 طرق لإصلاح تطبيق Discord عالق في وضع ملء الشاشة

نصيحة: يعمل هذا في نظام Windows الفرعي لنظام التشغيل Linux على نظام التشغيل Windows 11 أيضًا – وليس فقط على نظام التشغيل Windows 10.

تحضير Linux

أول شيء يتعين علينا القيام به هو السماح للكمبيوتر ببدء تشغيل مجدول الأعمال الزمني cron بدون كلمة مرور. عند بدء تشغيل خدمة مثل cron ، يمكنك استخدام الأمر sudo service cron start. لكن هذا الأمر يتطلب كلمة مرور لن يتمكن Windows من الوصول إليها عند بدء تشغيله. الطريقة للتغلب على ذلك هي إيقاف تشغيل متطلبات كلمة المرور لهذا الأمر.

للقيام بذلك ، افتح نافذة WSL الطرفية واكتب sudo visudo. اضغط على Enter بلوحة المفاتيح ، وأدخل كلمة مرور Linux الخاصة بك ، واضغط على مفتاح Enter مرة أخرى. إذا كنت تستخدم Ubuntu ، فسيؤدي ذلك إلى فتح ملف “sudoers” باستخدام محرر نصوص سطر أوامر Nano الصديق للمبتدئين. Sudoers هو ملف لمسؤولي النظام يمكنه تغيير الامتيازات وحقوق الوصول للمستخدمين.

أضف الأمر التالي إلى أسفل ملف sudoers ، ثم اضغط على Ctrl + o للحفظ و Ctrl + x للخروج من الملف.

%sudo ALL=NOPASSWD: /usr/sbin/service cron start

يقول أمر sudoers هذا أن أي مستخدم لديه امتيازات كافية لاستخدام الأمر sudo (الذي يجب أن يشملك) لا يتطلب كلمة مرور لتشغيل الأمر sudo service cron start ، والذي يبدأ تشغيل cron daemon.

بعد حفظ الملف ، يمكنك التحقق من أن الأمر يؤدي وظيفته عن طريق كتابة sudo service cron start ، ويجب أن يبدأ cron دون طلب كلمة المرور. إذا نجح ذلك ، فلنوقف تشغيل cron مرة أخرى حتى نتمكن من اختبار أن المهمة التي نقوم بإنشائها في الخطوة التالية تعمل بشكل صحيح. للقيام بذلك ، يرجى تشغيل sudo service cron stop.

اقرأ أيضا:  إصلاح لا وجود للصوت على فيديو YouTube في جهاز كمبيوتر بنظام Windows 10

قم بإعداد مجدول الأعمال الزمني Cron في برنامج جدولة مهام Windows

هذه هي المرحلة الأولى من رحلتنا نحو أتمتة cron. دعنا ننتقل إلى الجزء 2 مع برنامج جدولة المهام. اضغط على مفتاح Windows على لوحة المفاتيح ، ثم ابحث عن “برنامج جدولة المهام“. قم بتشغيل اختصار “برنامج جدولة المهام“.

TaskSchedulerSearchResults - كيفية تشغيل مجدول أعمال زمني cron تلقائيًا في WSL على Windows 10 و Windows 11

عند بدء التشغيل ، انظر أسفل قسم “الإجراءات” وحدد “إنشاء مهمة أساسية“.

TaskSchedulerCreateBasicTask - كيفية تشغيل مجدول أعمال زمني cron تلقائيًا في WSL على Windows 10 و Windows 11

هذا يفتح معالج المهام الأساسية. أولاً ، سيطلب منك تسمية المهمة ووصفها. يمكنك إدخال ما تريد هنا. أطلقنا على المهمة “cron” ، والوصف هو “مهمة لبدء cron عند بدء تشغيل النظام.” الآن ، اضغط على “التالي”.

في القسم التالي ، نبدأ العمل. أولاً ، يريد Windows معرفة متى نريد تشغيل المهمة. اختر زر الاختيار “عندما يبدأ الكمبيوتر” وانقر على “التالي”.

TaskSchedulerTrigger - كيفية تشغيل مجدول أعمال زمني cron تلقائيًا في WSL على Windows 10 و Windows 11

في القسم التالي ، نريد “بدء برنامج”. يتم تحديد هذا الخيار افتراضيًا ، لذا انقر فوق “التالي”.

TaskSchedulerProgramAndOptions - كيفية تشغيل مجدول أعمال زمني cron تلقائيًا في WSL على Windows 10 و Windows 11

الآن ، علينا تحديد البرنامج الذي نريد تشغيله ، وهو WSL. أدخل ما يلي في مربع إدخال نص “البرنامج / البرنامج النصي”: C: \ Windows \ System32 \ wsl.exe

نحتاج أيضًا إلى إضافة بعض الحجج ، نظرًا لأن كل ما فعلناه حتى الآن هو بدء WSL ، ولكن داخل WSL ، نحتاج إلى إخبار Ubuntu ببدء cron. لذلك ، في مربع “إضافة وسائط” ، أضف:

اقرأ أيضا:  كيفية عمل نسخة احتياطية من السجل واستعادته في Windows 11

sudo /usr/sbin/service cron start

FinalTaskWizard - كيفية تشغيل مجدول أعمال زمني cron تلقائيًا في WSL على Windows 10 و Windows 11

اضغط على “التالي” مرة أخرى ، وحدد المربع الذي يقول “فتح مربع حوار الخصائص عند النقر فوق إنهاء” ، ثم انقر فوق “إنهاء”.

TaskPropertiesWindow 1 - كيفية تشغيل مجدول أعمال زمني cron تلقائيًا في WSL على Windows 10 و Windows 11

تم إنشاء المهمة ، لكن علينا أن نفعل شيئًا أخيرًا للتأكد من أن كل شيء يعمل. سيتم فتح نافذة جديدة تعرض ملخص المهمة التي قمت بإنشائها ، ولكنها معدة للتشغيل فقط عندما تقوم بتسجيل الدخول. نحتاج إلى تحديد زر الاختيار الذي يقول “تشغيل سواء تم تسجيل دخول المستخدم أم لا” ، ثم الضغط على “موافق”.

الآن ، دعونا نختبر مهمتنا بطريقتين. أولاً ، في النافذة الرئيسية لبرنامج جدولة المهام ، قم بالتمرير لأسفل حتى ترى اسم مهمتك. إذا استخدمت الاسم “مجدول الأعمال الزمني cron ” ، فيجب العثور عليه في أعلى القائمة. انقر بزر الماوس الأيمن فوق المهمة وحدد “تشغيل”.

CronIsRunning - كيفية تشغيل مجدول أعمال زمني cron تلقائيًا في WSL على Windows 10 و Windows 11

بعد ذلك ، ارجع إلى محطة WSL الخاصة بك واكتب حالة sudo service cron ، ويجب أن تقول أن cron قيد التشغيل. إذا لم يكن الأمر كذلك ، فتحقق جيدًا من أنك أدخلت كل شيء بشكل صحيح في الخطوات السابقة.

إذا كان كل شيء يعمل بشكل صحيح في الفحص الأول ، فقد حان وقت الاختبار الكبير. أعد تشغيل الكمبيوتر ، وعندما تعود ، افتح محطة WSL وقم بتشغيل حالة خدمة sudo cron ، والتي يجب أن تبلغ عن تشغيل cron الآن.

تهانينا! لقد اتخذت خطوتك الأولى نحو عالم آلي أكبر. مع تشغيل cron في الخلفية ، سيتم تشغيل cronjobs التي تقوم بتكوينها في WSL تلقائيًا في الموعد المحدد.

جميع النصائح المذكورة هنا هي إعلامية وتم ترجمتها من المواقع الأجنية و لا تغني من استشارة أهل الاختصاص راجع صفحة

إشعار حقوق الطبع لموقع أحلى هاوم الإلكتروني

قد يعجبك ايضا

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More