آموزش تنظیمات cron job (کرون جاب در لینوکس)



آموزش cron job

Cron jobs یک راه عالی برای اجرای خودکار دستورات برنامه ریزی شده در سیستم عامل لینوکس است. در آموزش زیر دلیل بررسی اجرا نشدن و تنظیمات دستورات کرون جاب رو در سیستم عامل یا خرید سرور مجازی لینوکس بلوسرور بررسی میکنیم. همچنین یک سایت برای ساخت زمانبندی اجرای دستورات معرفی میکنیم.

 

بررسی سرویس cron لینوکس

برای شروع بررسی، ابتدا بررسی میکنیم که آیا سرویس cron در حال اجرا است. در سیستم اوبونتو و دبیان، می توانید وضعیت را با استفاده از systemctl یا دستورات service بررسی کنید:

sudo systemctl status cron
یا
sudo service cron status

اگر وضعیت سرویس Active باشد پس این سرویس در حال اجرا هست ولی اگر inactive نوشت یعنی کرون جاب فعال نیست.

 

کرون جاب در لینوکس

ساخت کرون جاب تست

مرحله بعدی بررسی cron job ایجاد و اجرای یک دستور نمونه است. این دستور باید یک پوشه جدید ایجاد کند. آنچه شما انتظار دارید این است که اجرای خودکار دستوارت cron کار کند و با این کار تست، فایل را ایجاد می کند تا از صحت اجرای کرون جاب مطمئن بشیم. با دستور crontab -e فایل تنظیمات کرون جاب را باز میکنیم.

# open the user’s crontab to edit the content
crontab -e 

و با دستور زیر میخوایم یک پوشه به اسم created-by-cron ایجاد کنیم.

# the following job runs every 60s
* * * * *  /usr/bin/env > /home/<user>/created-by-cron

محتویات فایل تنظیمات کرون جاب طبق صفحه پایین است

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
* * * * *  /usr/bin/env > /home/marcus/created-by-cron

 

حالا باید صبر کنین تا زمان 1 دقیقه که با گذاشتن 5 ستاره تعیین کردیم سپری بشه تا پوشه created-by-cron  ایجاد بشه، با زدن دستور ls میتونیم پوشه ایجاد شده رو بررسی کنیم.

 

لاگ کرون جاب

لاگ های کرون جاب ایجاد شده در مسیر زیر ایجاد میشوند

/var/log/cron

یا

/var/log/messages

زمان بندی کرون جاب

در تصویر بالا هر یک از ستاره ها برای ایجاد زمانبندی در بازه های دقیقه، ساعت، روزانه و ماهانه است، مثلا دستور زیر در اول هر ماه ساعت 00:00 اجرا میشود.

0 0 1 * * <command-to-execute>

یا دستور زیر در ساعت 16:15 دقیقه اول هر ماه اجرا میشه

15 16 1 * * <command-to-execute>

از سایت crontab و crontab-generator نیز برای ساخت زمان اجرای دستورات کرون جاب میتونین استفاده کنین.