آموزش تنظیمات 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 نیز برای ساخت زمان اجرای دستورات کرون جاب میتونین استفاده کنین.