آموزش Crontab

چگونه یک فایل Crontab بسازیم
سلام
Cron چیست؟
Cron ابزاری (سرویسی؟) است که دستورات shell را به صورت دوره ای، بر اساس زمانبندی داده شده اجرا می کند. Cron بوسیله crontab گردانیده می شود. Crontab فایل پیکربندی ای است که جزییات دستورات و جدول زمانبندی در آن نگهداری می شود.
ساختن یک فایل crontab crontab -e
برای ایجاد یک فایل crontab دستور زیر را در terminal وارد کنید:
با وارد کردن دستور بالا، ویرایشگر ترمینال (ویرایشگر پیش فرض در اوبونتو Nano است) به همراه یک بلوک جدید از فایل crontab (و یا crontab موجود، در صورتی که از قبل آن را داشته باشید) باز می شود.
در این مرحله شما باید قبل از بستن ویرایشگر، دستوراتی را که قصد اجرای آن ها را دارید، با توجه به syntax (دستور زبان؟ نحو؟) ای که در ادامه توضیح داده شده است وارد کنید.
بعد از بستن ویرایشگر، برای مشاهده تمام crontab های فعال، دستور زیر را در ترمینال وارد نمایید: crontab -l
دستور زبان Crontab
* * * * * command to be executed
فایل crontab شش field (فیلد؟) معین به ترتیب دقیقه، ساعت، روز ماه (۱ تا ۳۱)، ماه، روز هفته (۰ تا ۶) و دستوری(دستوراتی) که باید اجرا شوند. در زیر فرم کلی این دستور را می بینید:
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
مثال های crontab
* * * * * <command> 30 * * * * <command> 45 6 * * * <command> 45 18 * * * <command> 00 1 * * 0 <command> 00 1 * * 7 <command> 00 1 * * Sun <command> 30 8 1 * * <command> 00 0-23/2 02 07 * <command>
نوشتن فایل crontab ممکن است برای اولین بار کمی گیج کننده به نظر برسد. بنابراین در زیر تعدادی مثال به همرا توضیح ارائه شده است:
#هر دقیقه اجرا می شوند - Runs every minute
#هر ۳۰ دقیقه اجرا می شوند - Runs at 30 minutes past the hour
#هر روز ساعت ۶:۴۵ صبح اجرا می شوند - Runs at 6:45 am every day
#هر روز صبح ساعت ۶:۴۵ بعد از ظهر اجرا می شوند - Runs at 6:45 pm every day
#هر یکشنبه یاعت ۱ صبح(بامداد؟) اجرا می شوند - Runs at 1:00 am every Sunday
#هر یکشنبه ساعت ۱ بامداد اجرا می شوند - Runs at 1:00 am every Sunday
#هر یکشنبه ساعت ۱ بامداد اجرا می شوند - Runs at 1:00 am every Sunday
#اولین روز هر ماه ساعت ۸:۳۰ - Runs at 8:30 am on the first day of every month
#Runs every other hour on the 2nd of July
(more…)

