{ . . . }

crontab برای اجرای task های خاص در یک دوره زمانی منظم استفاده می شود. crontab مشابه task schedule ویندوز می باشد. crontab برای انجام task های روتینی مثل اسکن سیستم ، پشتیبان گیری روزانه استفاده می شود . job ها توسط crontab در بک گراند سیستم در زمان و دوره ی مشخصی اجرا می شود. در این آموزش شما crontab را با 20 مثال کاربردی و مفید یاد خواهید گرفت . شما می توانید از crontab به منظور اجرای یکبار یک task در آینده نیز استفاده کنید ولی پیشنهاد می شود برای اینکار از دستور at در لینوکس استفاده کنید.

  • یادگیری Crontab در لینوکس با 20 مثال کاربردی

یادگیری Crontab در لینوکس با 20 مثال کاربردی

crontab برای اجرای task های خاص در یک دوره زمانی منظم استفاده می شود. crontab مشابه task schedule ویندوز می باشد. crontab برای انجام task های روتینی مثل اسکن سیستم ، پشتیبان گیری روزانه استفاده می شود . job ها توسط crontab در بک گراند سیستم در زمان و دوره ی مشخصی اجرا می شود. در این آموزش شما crontab را با 20 مثال کاربردی و مفید یاد خواهید گرفت . شما می توانید از crontab به منظور اجرای یکبار یک task در آینده نیز استفاده کنید ولی پیشنهاد می شود برای اینکار از دستور at در لینوکس استفاده کنید.

Linux Crontab Syntax

Crontab شامل شش فیلد می باشد . فیلدهای 1 الی 5  تاریخ و زمان اجرا را تعیین می کنند و فیلد ششم برای دستور یا اسکریپتی که باید اجرا شود به کار می رود . سینتکس crontab به شکل زیر است :

[command]   [Day_of_the_Week]  [Month_of_the_Year] [Day_of_the_Month] [hour] [Minute]

 

 

 

 

 

 

 

 

- ستاره به معنی همه موارد است

- شما میتوانید با استفاده از - بازه نیز تعریف کنید مثلا 10-1 یا 30-20 یا sun-fri یا feb-apr

- شما می توانید چندین بازه نیز تعریف کنید مثلا jan-mar, jul-sep

چگونه در crontab موردی اضافه یا ویرایش کنم

برای اضافه یا بروزرسانی job در crontab از دستور زیر استفاده کنید. این دستور crontab را در ویرایشگری به منظور افزودن یا ویرایش باز می کند.

$ crontab -e

به صورت پیش فرض دستور بالا crontab را برای کاربری که لاگین کرده باز می کند برای باز کردن crontab سایر کاربرها (مجاز برای ادمین ها) می توانید از دستوری زیر استفاده کنید

#crontab -u username -e

در صورت تمایل به تغییر ویرایشگر می بایست متغیر محیطی EDITOR را تغییر دهید.

چگونه crontab را لیست کنیم

برای مشاهده آیتم های crontab برای کاربر جاری از دستور زیر استفاده کنید

$crontab -l

از آپشن u- که در ادامه آن نام کاربر می آید میتوانید آیتم های مربوط به یک کاربر خاص را مشاهده کنید

$crontab -u username -l

20 مثال کاربردی crontab

1- زمانبندی cron برای اجرای روزانه ساعت 2 صبح

این مورد برای پشتیبان گیری روزانه از دیتابیس بسیار مفید است.

0 2 * * * /bin/sh backup.sh

2- زمانبندی یک cron برای اجرای دو بار در هر روز

در مثال زیر دستور هر روز در ساعت 5 صبح و 5 عصر اجرا می شود . شما میتوانید با استفاده از کاما ساعات دیگری هم اضافه کنید.

0 5,17 * * * /scripts/script.sh

3- زمانبندی یک cron برای اجرا در هر دقیقه

کلا شما خیلی کم نیاز به اجرای یک دستور در هر دقیقه خواهید داشت ولی چنانچه نیاز دارید اسکریپت در هر دقیقه اجرا شود به صورت زیر عمل کنید

* * * * *  /scripts/script.sh

4-زمانبندی cron برای اجرا در هر یکشنبه ساعت 5 عصر

این نوع از cron برای task های هفتگی مناسب است مانند log rotation

0 17 * * sun  /scripts/script.sh

5- زمانبندی cron برای اجرا هر 10 دقیقه

چنانچه میخواهید یک task را در فواصل زمانی 10 دقیقه ای اجرا کنید به شکل زیر عمل کنید این نوع از cron مناسب عملیات مانیتورینگ می باشد.

*/10 * * * * /scripts/monitor.sh

6- زمانبندی cron  برای اجرا در ماههای انتخابی

گاهی اوقات نیاز داریم تا اسکریپت ما در ماههای خاصی اجرا شود . در مثال زیر اسکریپت در ماههای ژانویه ، می و آگوست اجرا می شود.

* * * jan,may,aug *  /script/script.sh

7- زمانبندی cron برای اجرا در روزهای انتخابی

چنانچه شما بخواهید اسکریپت شما فقط در روزهای خاصی اجرا شود به صورت زیر عمل کنید . اسکریپت زیر در روزهای یکشنبه و جمعه ساعت 5 عصر اجرا می شود.

0 17 * * sun,fri  /script/script.sh

8- زمانبندی یک cron برای اجرا در اولین یکشنبه هر ماه

برای زمانبندی یک اسکریپت به منظور اجرا در اولین یکشنبه هر ماه فقط پارامترهای زمانی کافی نیست . میبایست در فیلد دستور تغییراتی اعمال کنید تا به هدف خود برسید.

0 2 * * sun  [ $(date +%d) -le 07 ] && /script/script.sh

9- زمانبندی یک cron برای اجرا هر 4 ساعت

چنانچه می خواهید اسکریپت شما در فواصل زمانی 4 ساعت اجرا شود به شیوه زیر عمل کنید

0 */4 * * * /scripts/script.sh

10- زمانبندی یک cron برای اجرا دوبار در هر یکشنبه و دوشنبه

برای اجرای یک task دوبار در روزهای یکشنبه و دوشنبه به شیوه زیر عمل کنید

0 4,17 * * sun,mon /scripts/script.sh

11- زمانبندی یک cron برای اجرا در هر 30 ثانیه

برای زمانبندی یک task به طوری که هر 30 ثانیه یکبار اجرا شود صرفا پارامترهای زمانی کافی نیست اما میتواند توسط دوبار اجرای یک cron مشابه مانند مثال زیر انجام پذیرد.

* * * * * /scripts/script.sh
* * * * *  sleep 30; /scripts/script.sh

12-زمانبندی چندین task در یک cron

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

* * * * * /scripts/script.sh; /scripts/script2.sh

13- زمانبندی task ها برای اجرا به صورت سالیانه ([email protected])

y[email protected] معادل "* 1 1 0 0" است یعنی دقیقه اول روز اول از ماه اول هر سال. این مورد برای فرستادن تبریک سال نو مناسب است laugh

@yearly /scripts/script.sh

14-زمانبندی task ها برای اجرا به صورت ماهانه

[email protected] معادل "* *  1 0 0 " است یعنی دقیقه اول هر ماه اجرا می شود . این برای کارهای ماهیانه مانند پرداخت صورتحساب و فاکتورها مناسب است.

@monthly /scripts/script.sh

15- زمانبندی task ها برای اجرا به صورت هفتگی

[email protected] در دقیقه اول هر هفته اجرا میشود

@weekly /scripts/script.sh

16- زمانبندی task ها برای اجرا به صورت روزانه

[email protected] معادل "* * * 0 0" است یعنی اولین دقیقه از هر روز اجرا شود . این مورد برای کارهای روزانه مفید است.

@daily /scripts/script.sh

17- زمانبندی task ها برای اجرا به صورت ساعتی

[email protected] معادل "* * * * 0 " است یعنی اولین دقیقه هر ساعت اجرا می شود.

@hourly /scripts/script.sh

18-زمانبندی task ها برای اجرا در هنگلم ریبوت شدن سیستم

[email protected] برای زمانی که میخواهید task ی در استارت آپ سیستم اجرا شود بسیار مفید است. مشابه اسکریپت های استارت آپ است .

@reboot /scripts/script.sh

19- ریدارکت کردن نتایج cron به ایمیل مشخصی

به صورت پیش فرض cron جزئیات را برای کاربر جاری که زمانبندی را انجام داده است ارسال می کند . چنانچه تمایل دارید به کاربر دیگری ارسال شود نیازمند تنظیم متغیر MAIL به صورت زیر می باشید

#crontab -l
MAIL=bob
0 2 * * * /script/backup.sh

20- گرفتن پشتیبان از همه ی cron ها در داخل یک فایل متنی ساده

پیشنهاد من اینست که از همه job های موجود در cron یک پشتیبان تهیه کنید بدین شکل امکان بازیابی cron ها در اثر حذف تصادفی وجود خواهد داشت.

بررسی cron های فعلی

# crontab -l
MAIL=rahul
0 2 * * * /script/backup.sh

تهیه پشتیبان از cron درون یک فایل متنی

# crontab -l > cron-backup.txt
# cat cron-backup.txt
MAIL=rahul
0 2 * * * /script/backup.sh

حذف cron های جاری

# crontab -r
# crontab -l
no crontab for root

بازیابی cron ها از فایل متنی

# crontab cron-backup.txt
# crontab -l
MAIL=rahul
0 2 * * * /script/backup.sh

مترجم : حسین داود

منبع :

 https://tecadmin.net/crontab-in-linux-with-20-examples-of-cron-schedule

درباره مدیر سایت

3dots.ir
ادمین سایت

امام علی علیه السلام: با مردم آنگونه معاشرت كنيد، كه اگر مرديد بر شما اشك ريزند، و اگر زنده مانديد، با اشتياق سوي شما آيند.

مطالب مشابه

یادگیری Crontab در لینوکس با 20 مثال کاربردی

crontab برای اجرای task های خاص در یک دوره زمانی منظم استفاده می شود. crontab مشابه task schedule ویندوز می باشد. crontab برای انجام task های روتینی مثل اسکن سیستم ، پشتیبان گیری روزانه استفاده می شود . job ها توسط crontab در بک گراند سیستم در زمان و دوره ی مشخصی اجرا می شود. در این آموزش شما crontab را با 20 مثال کاربردی و مفید یاد خواهید گرفت . شما می توانید از crontab به منظور اجرای یکبار یک task در آینده نیز استفاده کنید ولی پیشنهاد می شود برای اینکار از دستور at در لینوکس استفاده کنید.

ادامه مطلب
چگونه با ما در تماس باشید ؟


تلفن ۰۵۱ ۳۸۹۴۱۲۹۵ -۰۵۱ ۳۸۹۴۱۲۹۶

تلگرام @3dots

فکس ۰۲۱ ۴۳۸۵۹۳۳۶۷

ایمیل آدرس-ایمیل-فناوری-اطلاعات-یکتا-توس-برسام

آدرس ایران ، خراسان رضوی ، مشهد
بلوار فرهنگ - بین فرهنگ 43 و 45 - پلاک 51

فناوری اطلاعات تریداتس

پیاده سازی سامانه های تحت موبایل ، پورتال های سازمانی و ایمن سازی سرور های لینوکس

شرکت فناوری اطلاعات یکتا توس برسام که با نام تجاری تریداتس شناخته می شود توسط گروهی از متخصصین و کارشناسان حوزه امنیت و توسعه نرم افزار در سال 1395 تاسیس گردید. بهره گیری از پشتیبانی قدرتمند و نیز در اختیار داشتن توان فنی بومی شده در حوزه پشتیبانی سرور های مبتنی بر لینوکس و تولید نرم افزارهای سفارش مشتری در سطوح مختلف توانسته رضایتمندی حداکثری مشتریان ما را در پی داشته باشد.

تریداتس

فناوری اطلاعات تریداتس

طراحی وب سایت

طراحی سایت

اپلیکیشن موبایل

امنیت سرور

لینوکس

آموزش لینوکس

اندروید

پورتال سازمانی

ایمن سازی سرور

امنیت سرور یکی از تخصصی ترین مباحث موجود در حوزه فناوری اطلاعات است. پایه و اساس سایت ها و اطلاعات موجود در بستر وب با امنیت سرور معنی پیدا می کنند.

انتخاب سیستم عامل در امنیت سرور مجازی شما نقس مهمی دارد

سیستم های لینوکس به خوبی توانايي اجرايي بودن سالها بدون هيج توقف و شكست را دارند

لینوکس نیز ذاتا امن تر از ویندوز است

یکی از کاربرد های مشخص سازی انواع و دسته بندی های اپلیکیشن موبایل، رسیدن به فهم مشترک برای دست یابی به اپلیکیشن مورد نظر از جانب توسعه دهندگان و کاربران می باشد.

شرکت ها و سازمان ها برای ورود به فضای موبایل و حضور موفق در این فضای جدید و تاثیرگذار، باید مسائل مختلفی را مدنظر قرار دهند. در این مواقع، موضوع مهمی که مطرح میشود این است که آیا طراحی اپلیکیشن موبایل بهتر است یا یک وب سایت موبایلی، یا هر دوی آنها.

طراحی سایت * برنامه نویسی موبایل * آموزش لینوکس
logo-samandehi
عضو سازمان نظام صنفی کشور