تبليغاتX
Notes On Computer Networks - Crontab‏ – ‏logout script ‎‏ - ‏cal ‎

Crontab

 

cron یک برنامه تحت linux  است که امکان می دهد دستورات یا اسکریپت ها را در پس زمینه در زمانی خاص اجرا کرد . معمولا لینوکسی ها به این  دستورات cron jobs  می گویند .

برای ایجاد یا ویرایش cronjob ها ، از دستور crontab –e   استفاده می شود . با اجرای این دستور ویرایشگر vi  فایل مربوط را باز می کند و شما با استفاده از الگوی زیر می توانید دستورات خود را در زمانی خاص در پس زمینه اجرا کنید . ( و با فشار Esc و تایپ wq  در جلوی :  آنرا ذخیره کنید . )

 

طریقه وارد کردن دستورات به صورت زیر است :

دستور* * * * * 

 

| | | | |

| | | | |

| | | | |

 روز های هفته ( 0 تا 6 ) +---------------------------------- | | | |

 ماه ( 1 تا 12 ) +----------------------------- | | |

 روزهای ماه ( 1 تا 30 )  +---------------------------  | |

 ساعت ( 0 تا 23 ) -------------------------+ |

دقیقه ( 0 تا 59)+--------------------- 

 

به عنوان مثال اگر بخواهیم محتویات دایرکتوری /home/usr/tmp  هر روز به طور خودکار در ساعت 6:30 عصر پاک شود از cron job  زیر استفاده می کنیم.

 

30 18 * * * rm /home/usr/tmp

 

علامت ستاره ( * ) به معنی دوره کامل است . به عنوان مثال cron job  بالا در تمامی روز های ماه ، در تمامی ماه های سال و بالاخره در هفت روز هفته اجرا می شود .

 

اگر می خواهید cron job ای در روزی خاص از هفته اجرا کنید باید توجه داشته باشید که یکشنبه را روز 0  در نظر بگیرید .

 

مثال : اجرای دستور rm  در ساعت 12:30 ی روزهای دوشنبه تا چهارشنبه در ماه اکتبر

 

30 0 * 10 1-3 rm /home/usr/tmp

 

 

برای مشاهده لیستی از cronjob  ها   می توانید از دستور crontab –l  و برای حذف آنها از دستور crontab –r  استفاده کنید . 

 

 

بعد از هر بار اجرای یک cron job  به طور اتوماتیک یک ایمیل به حساب کاربری مربوطه ارسال می شود . اگر نیازی به این کار نباشد می توانید به استفاده از عبارت >/dev/null 2>&1  در انتهای خط آنرا غیر فعال کنید .

مثال :

 

30 18 * * * rm /home/usr/tmp >/dev/null 2>&1

 

برای ثبت اجرای یکcron job  در فایلی خاص می توانید مانند مثال زیر عمل کنید :

 

30 18 * * * rm /home/usr/tmp >/home/ clean_dir.log

 

شما می توانید با ویرایش دو فایل cron.allow  و cron.deny برای تعریف cron job  ها توسط کاربران مختلف محدودیت ایجاد کنید . تمامی کاربرانی که در فایل cron.allow  موجود باشند یا درصورت عدم وجود این فایل تمامی کاربرانی که در فایل cron.deny  موجود نباشند می توانند cron job  تعریف کنند

.

 

 


اجرای دستوری خاص در هنگام logout:

اگر از shell های csh  ، tcsh یا  bash  استفاده می کنید می توانید با ویرایش یک فایل دستوری خاص را هنگام logout  کردن به اجرا در آورید .

برای این کار کافی است در شل های tcsh و csh  یک فایل به نام .logout و در شل bash یک فایل به نام .bash_logout  بسازید و دستور خود را در آن قرار دهید .

( برای تشخیص اینکه از چه شلی استفاده می کنید می توانید از دستور echo $SHELL استفاده کنید . )

 


نمایش تقویم :

برای نمایش تقویم ماه جاری می توانید از دستور cal  استفاده کنید .ولی این دستور قابلیت نمایش تقویم سال های مختلف میلادی را داراست . به عنوان مثال برای نمایش تقویم april سال 1985 کافی است تایپ کنید : cal 4 1985  

+ نوشته شده توسط امید مهاجرانی در دوشنبه هشتم مرداد 1386 و ساعت 0:39 |