پارس دیتا
کد: KB-WP-C2-FA-330
زمان انتشار: دوشنبه 7 آبان 1403

نحوه استفاده از cron job در لینوکس

"Cron job" ؛ برای خودکار کردن وظایف ( یا تکرار وظایف ) در سیستم‌های مبتنی بر لینوکس، از جمله اوبونتو، ضروری هستند. با یادگیری نحوه راه‌اندازی "cron jobs" در لینوکس، می‌توانید کارها را برای اجرا در فواصل زمانی مشخص برنامه‌ریزی نمایید، کارایی را بهبود بخشیده و از انجام منظم وظایف مهم اطمینان حاصل فرمایید ، درک راه‌اندازی "cron job" می‌تواند به میزان قابل توجهی بهره‌وری شما را افزایش دهد. ( در سرویس های اشتراکی پارس دیتا موجود نمی باشد و این دانشنامه به سرور اختصاصی VPS اختصاص دارد . )

Plesk

چگونه "cron jobs" را در لینوکس راه اندازی نماییم؟
برای راه اندازی "cron job" در لینوکس ، مراحل زیر را باید دنبال نمایید :

مرحله 1: به سرور متصل شوید و سیستم را به روز گردانید.
قبل از شروع راه اندازی "crontab" نرم افزار های سیستم را به آخرین نسخه موجود به روز نمایید. با استفاده از دستور زیر می توانیم این کار را انجام دهیم:

"apt-get update && apt-get upgrade"

مرحله 2: بررسی نمایید که آیا بسته "cron" نصب شده است.
برای بررسی نصب "cron"، دستور زیر را اجرا نمایید:

"dpkg -l cron"

مرحله 3: اگر "cron" نصب نشده است، بسته "cron" را در لینوکس نصب نمایید.
با استفاده از دستور زیر می توان بسته "cron" را با "Package Manager" نصب کرد:

"apt-get install cron"

مرحله 4: بررسی نمایید که آیا سرویس "cron" در حال اجرا است.
برای بررسی اینکه آیا سرویس "cron" در سیستم اجرا می شود یا خیر، می توانیم از دستور زیر استفاده نماییم:

"sudo systemctl status cron.service"

مرحله 5: "cron job" را در لینوکس پیکربندی نمایید.

برای راه اندازی "cron job" ها، باید فایل "/etc/crontab" را تغییر دهید . که فقط توسط کاربر "root" قابل انجام است. می توانید فایل "crontab" را با ویرایشگر متن ویرایش نمایید:

"nano /etc/crontab" 

دستور رایج "crontab" را درک نمایید:

"* * * * * /path/to/command arg1 arg2 "

یا
"* * * * * /root/backup.sh "

در دستور بالا : (از سمت چپ)

اولین * مخفف نمایش دقیقه [0-59] است.

دومین * مخفف ساعت[0-23] است.

سومین * مخفف نماینده روز [0-31] است.

چهارمین * مخفف ماه [0-12] است.

پنجمین * مخفف یک روز از هفته است[0-7].

پس از تمام مراحل نصب "crontab" و درک دستور رایج، یک مثال "crontab" را اجرا می نماییم:

مثال 1: اگر بخواهیم برای اولین روز هر ماه در ساعت 9 شب یک نسخه پشتیبان برنامه ریزی نماییم، دستور زیر این عمل را انجام می دهد:

"crontab -e //install your cron job by running this command"

ورودی زیر را اضافه نمایید:

"backup-script.sh"

جهت اجرای فایل "bash" دسترسی های زیر را برای فایل قرار می دهیم:
"chmod 775 backup-script.sh"

یا
"chmod +x backup-script.sh"
"0 9 1 * * /path/to/script/backup-script.sh"

 مثال 2: اسکریپت "PHP" را به عنوان یک "crontab" تنظیم و اجرا نماییم تا اسکریپت هر روز در ساعت 10 صبح اجرا شود:

ورودی زیر را اضافه نمایید:

"0 10 * * * /path/to/myphpscript.php"

مثال 3: یک "crontab" را برای اجرا در هر روز در یک زمان خاص برنامه ریزی نماییم:
برای برنامه ریزی "crontab" در لینوکس برای اجرای روزانه در یک زمان خاص، از فرمت زیر در فایل "crontab" استفاده نمایید:

"0 2 * * * path/to/script"
(این مثال اسکریپت را هر روز ساعت 2 صبح اجرا می کند).

چگونه "cron job" را برای کاربران خاص در لینوکس پیکربندی نماییم :
می توانیم "cron job" ها را در لینوکس برای کاربران خاص پیکربندی نماییم. از دستور "sudo crontab -u username -e"

گزینه های زیر در "crontab" موجود است:
1. " crontab -l" : تمام کارهای "cron" خود را فهرست نمایید.
2. " crontab -r" : کارهای "cron" فعلی را حذف نمایید.

برای اطلاعات بیشتر در مورد "cron"، راهنمای دستور را مطالعه نمایید:

"man cron"
"man crontab"

نتیجه گیری:
راه‌اندازی "cron jobs" ؛ در لینوکس یک راه قدرتمند برای خودکار کردن وظایف و اطمینان از اجرای آنها در فواصل زمان‌بندی‌شده است. با پیروی از این راهنما در مورد نحوه راه اندازی "cron jobs" در لینوکس ، می توانید به طور موثر کار های "cron" را پیکربندی، مدیریت و عیب یابی نمایید. برنامه ریزی منظم کارهایی مانند پشتیبان گیری، به روز رسانی و اسکریپت های تعمیر و نگهداری می تواند باعث صرفه جویی در زمان و کاهش خطر خطای انسانی شود.

آخرین بروزرسانی: یکشنبه 27 آبان 1403 9:17:09