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

هنا سوف تتعلم ما هو crontab ، وكيفية إضافة وظائف آلية ، وبعض الأمثلة من العالم الحقيقي.

ما هو كرونتاب؟

Crontab هي عملية خفية تعمل في الخلفية على جميع أجهزة Linux تقريبًا ، وتُستخدم لجدولة المهام الآلية وتنفيذها على فترات زمنية محددة. غالبًا ما يستخدمه مطورو البرامج لتشغيل المهام التي تستغرق وقتًا طويلاً في الخلفية.

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

أوامر Crontab الأساسية

كل مستخدم Linux على الجهاز لديه ملف crontab الخاص به ، والذي يحتوي على وظائف crontab النشطة الخاصة بهم. فيما يلي بعض الأوامر الطرفية الأساسية التي ستستخدمها لعرض وتعديل ملف crontab:

  • كرونتاب ل قائمة بجميع وظائف crontab.
  • كرونتاب -e قم بتحرير ملف crontab.
  • كرونتاب -ر قم بإزالة كافة الإدخالات من ملف crontab.
instagram viewer

الأوامر المذكورة أعلاه ستكون لـ المستخدمين الحاليين ملف crontab. إذا كنت بحاجة إلى تعديل ملف crontab الخاص بمستخدم مختلف ، فما عليك سوى استخدام الامتداد -u اختيار. على سبيل المثال ، يمكنك تحرير ملف جدو ملف crontab الخاص بالمستخدم بالأمر:

Ubuntu Linux: إضافة وإزالة المستخدمين إلى المجموعات بالطريقة السهلة

هل تريد إدارة المستخدمين بشكل أفضل على Ubuntu Linux؟ الإجابة هي إنشاء مجموعات ، ثم استخدام ميزة إضافة مستخدم Ubuntu.

sudo crontab -ujdoe -e

شكل وظائف Crontab

تتكون كل وظيفة من وظائف crontab من سطر واحد ، ويتم تنسيقها على النحو التالي:

الأمر MINUTE HOUR DAY MONTH WEEKDAY

يوضح الجدول أدناه العناصر المختلفة لوظيفة crontab:

جزء هياج وصف
دقيقة 0 - 59 دقيقة تنفيذ مهمة crontab في.
ساعة 0 - 23 ساعة تنفيذ وظيفة crontab في.
يوم 1 - 31 يوم الشهر لتنفيذ وظيفة crontab في.
شهر 1 - 12 شهر تنفيذ وظيفة crontab في.
يوم من أيام الأسبوع 0 - 6 يوم الأسبوع لتنفيذ وظيفة crontab في.
يأمر أي أمر Linux يمكنك تنفيذه على الجهاز.

يمكنك استخدام علامة النجمة (*) في أي من الحقول للإشارة إلى حرف بدل ، مما يعني أن وظيفة crontab سيتم تنفيذها بغض النظر عن تلك الفترة الزمنية. على سبيل المثال ، سيتم تنفيذ وظيفة crontab أدناه كل ليلة في تمام الساعة 3:20 صباحًا:

20 3 * * /root/backup.sh

قيم متعددة

قد تتضمن كل فترة زمنية أيضًا عناصر متعددة. يمكنك تحديد القيم الدقيقة عن طريق فصلها بفاصلة ، وسيتم تنفيذ وظيفة crontab أدناه كل ساعة في 20 و 50 دقيقة بعد الساعة:

20،50 * * * * /path/to/command.sh

ومع ذلك ، إذا كنت ترغب في تنفيذ مهمة crontab على فترات زمنية محددة خلال فترة زمنية يمكنك استخدامها */فترة، وسيتم تنفيذ وظيفة crontab التالية تلقائيًا بعد 15 دقيقة من الساعة كل ثلاث ساعات:

15 * / 3 * * * /path/to/command.sh

الحفاظ على هدوء وظائف Crontab

بناءً على ذلك ، قد ترغب في إزالة جميع المخرجات من وظائف crontab حتى لا ينتهي بها الأمر في مجلد البريد الخاص بنظامك. يمكنك القيام بذلك عن طريق الحاق > / dev / null 2> & 1 لأي وظيفة crontab. على سبيل المثال:

0 6 15 * /path/to/backup.sh> / dev / null 2> & 1

مضيفا وظائف Crontab

بشكل عام ، الطريقة الأكثر استخدامًا لإضافة وظائف crontab أو تعديلها هي كرونتاب -e يأمر. قم بتشغيل هذا الأمر في المحطة:

كرونتاب -e

سيؤدي هذا إلى فتح ملف محرر النص مثل نانو بمحتويات ملف crontab الخاص بك. كل وظيفة crontab موجودة في سطر واحد ، ويمكنك إضافة وتعديل وإزالة الأسطر حسب الرغبة. بمجرد الانتهاء من ذلك ، احفظ وأغلق الملف بالضغط على السيطرة + W، تليها ص و يدخل Keys ، والتي ستنشط على الفور جميع وظائف crontab داخل الملف.

اختصار لإضافة وظائف

بدلاً من تعديل ملف crontab يدويًا ، يوجد أمر واحد سريع يمكنك تشغيله لإضافة وظيفة. على سبيل المثال ، إذا كنت تريد إضافة وظيفة crontab هذه التي تعمل كل يوم أحد الساعة 2:00 مساءً:

0 14 * * 0 /path/to/command.sh

يمكنك إضافة الوظيفة إلى ملف crontab باستخدام الأمر الفردي:

(كرونتاب -l ؛ صدى "0 14 * * 0 /path/to/command.sh" ؛) | كرونتاب

يسرد الأمر أعلاه ببساطة جميع الوظائف الموجودة حاليًا في ملف crontab الخاص بك ، ويطبع المهمة الجديدة ، ويدخل كل شيء كرونتاب استبدال محتوياته.

إدراج / إزالة ملف Crontab

يمكنك سرد جميع الوظائف النشطة حاليًا في ملف crontab الخاص بك باستخدام الأمر:

كرونتاب -l

يمكنك أيضًا إزالة جميع وظائف crontab وإفراغ محتويات ملف crontab باستخدام الأمر:

كرونتاب -ر

مثال: تشغيل الأصوات!

هل تحتاج إلى تذكير سريع كل ساعتين أثناء العمل لإعلامك بمرور الوقت؟ احصل على مقطع الصوت المفضل لديك بأي تنسيق تقريبًا (.wav ، .mp4 ، أي شيء) ، وإذا تم حفظه في (على سبيل المثال) /home/myuser/myalert.wav هل لعبت تلقائيًا مع وظيفة crontab:

0 * / 2 * * * aplay /home/myuser/myalert.wav

ماذا عن إعطائك وداعًا لطيفًا من عمل الأسبوع مع تشغيل أغنيتك المفضلة تلقائيًا في الساعة 5:00 مساءً كل يوم جمعة بعد الظهر؟ احصل على مقطع الأغنية المفضل لديك ، وإذا تم حفظه على سبيل المثال /home/myuser/friday_song.mp4 يمكنك إضافة وظيفة crontab:

0 17 * * 5 aplay / home/myuser/friday_song.mp4

مثال: ملفات النسخ الاحتياطي باستخدام Rsync

أحد الاستخدامات العديدة الممتازة لـ crontab هو القدرة على نسخ ملفاتك احتياطيًا تلقائيًا إلى خادم بعيد. قلل بشكل كبير من خطر فقدان البيانات المهمة مرة أخرى مع هذا ممتاز rsync تعليمي.

مثال: تحقق مما إذا كانت المواقع متصلة بالإنترنت

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


php
// عنوان البريد الإلكتروني لإخطار المواقع المعطلة
$ email = '[email protected]' ؛
// تحديد عناوين URL للتحقق من
$ urls = [< ر /> ' https://apexpl.io',
'https://google.com',
'https://some-junk-site-that-will-hopefully-never-exist.com'
];
// تصفح عناوين URL
$ down = [] ؛
foreach ($ urls كـ $ url) {
// تحقق من عنوان URL
$ status = check_url ($ url)؛
إذا ($ status! = 200) {
$ down [] = $ url؛
}
}
// إرسال بريد إلكتروني إذا كان لدينا مواقع معطلة
إذا (عد ($ down)> 0) {
mail ($ البريد الإلكتروني ، "عاجل - تعطل المواقع!" ، "اكتشف برنامج الروبوت الخاص بك المواقع التالية حاليا أسفل:
". داخلي ("
"، $ down)) ؛
}
// خروج
خروج (0) ؛
/ **
* تحقق من عنوان URL < br /> * /
وظيفة check_url (سلسلة $ url): int
{
// إرسال عبر cURL
$ ch = curl_init ()؛
curl_setopt ($ ch، CURLOPT_URL، $ url)؛
curl_setopt ($ ch، CURLOPT_FRESH_CONNECT، true)؛
curl_setopt ($ ch، CURLOPT_RETURNTRANSFER، true)؛
curl_setopt ($ ch، CURLOPT_FOLLOWLOCATION ، صحيح) ؛
$ response = curl_exec ($ ch) ؛
// الحصول على الحالة والاتصال الوثيق
$ status = curl_getinfo ($ ch، CURLINFO_HTTP_CODE)؛
curl_close ($ ch) ؛
// إرجاع
إرجاع الحالة $ ؛
}

قم ببساطة بتعديل عنوان البريد الإلكتروني وعناوين URL المطلوبة للتحقق من أعلى الملف وحفظه في مكان ما مثل /home/myuser/check_sites.php . لتشغيل هذا البرنامج النصي كل خمس دقائق وإخطارك عبر البريد الإلكتروني لأي مواقع معطلة ، أضف وظيفة crontab:

  * / 5 * * * * / usr / bin / php /home/myuser/check_sites.php> / dev / null 2> & 1  

أتمتة حياتك! h2>

مع هذا المقال أنت من المأمول فهم قوة التشغيل الآلي لـ crontab ، وكيف يمكن استخدامه لأتمتة العديد من المهام العادية والمتكررة في الحياة.

لقد تعلمت ما هو crontab ، وحول ملف crontab ، وكيف يتم تنسيق وظائف crontab ، وبعض الأمثلة الواقعية عن كيفية استخدامه.

4 تطبيقات Linux Automation لتبسيط المهام وسير العمل span>

هل تريد توفير الوقت وتجنب المهام المتكررة؟ الجواب هو الأتمتة! إليك بعض تطبيقات التشغيل الآلي لسطح المكتب في Linux التي يمكنك تجربتها. p>

ذات صلة المواضيع strong>
  • البرمجة span>
  • Linux
حول المؤلف strong>
مات ديزاك (13 مقالة تم النشر) span>
المزيد من مات ديزاك span>

اشترك في موقعنا النشرة الإخبارية h4>

انضم إلى نشرتنا الإخبارية للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية! p>

خطوة أخرى!!!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه إليك للتو. p>

.