0

انجام خودکار امور در لينوکس

 
samsam
samsam
کاربر طلایی1
تاریخ عضویت : بهمن 1387 
تعداد پست ها : 50672
محل سکونت : یزد

انجام خودکار امور در لينوکس

 اگر با لینوکس آشنایی داشته باشید، قطعا می‌دانید که Cron نام برنامه‌ای است که برای اتوماسیون و انجام خودکار کارها در محیط لینوکس استفاده می‌شود.

 CronTab دستوری است که به فایل Cron دسترسی پیدا می‌کند و فرامینی را که کاربر برای انجام امور در آن قرار داده است ، اجرا می‌کند. اما نوشتن دستورات در محیط متنی کاری است که علاوه بر دقت، به حوصله زیادی هم احتیاج دارد.

CornTab نام رابطی تحت وب است که می‌توان در آن با مشخص کردن فرامین و کارها ، فقط خروجی آن را داخل فایل Cron کپی و پیست کرد.

البته نرم‌افزارهای دیگری از جمله Gnome-Schedule نیز برای ویرایش ساده‌تر Cron تولید شده ‌است، اما اگر نمی‌خواهید نرم‌افزار جدیدی را به فهرست نرم‌افزارهای تک‌کاره لینوکسی خود اضافه کنید، این رابط کاربری تحت وب، گزینه فوق‌العاده‌ای است.

بخصوص اگر رایانه‌ای که می‌خواهید روی آن عملیات خودکار انجام دهید، همخوان با Gnome-Schedule نیست.

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

بیایید کار خود را با زمان‌بندی یک وظیفه که کار ساده‌ای را هم انجام می‌دهد ، آغاز کنیم: نوشتن زمان دقیقه به دقیقه سیستم درون یک فایل گزارش (log) از طریق خط فرمان.

بعد همین کارها را با Corntab‌ انجام می‌دهیم. قضاوت در مورد سادگی انجام کار را به عهده خودتان می‌گذاریم. ایجاد زمان یا هر خروجی دیگر در فایل گزارش ، نمونه خوبی برای آزمایش کرون است.

ترمینال سیستم را باز کنید. قبل از شروع بهتر است بدانیم با چه نوع دستوری مواجه هستیم. با تایپ دستور زیر، راهنمای دستور crontab را مشاهده می‌کنید:

man crontab

هر چند می‌توان با کمک گوگل اطلاعات و راهنماهای زیادی برای این دستور پیدا کرد، اما اگر دسترسی نداشتید، دستور man به کمک شما خواهد آمد.

شیوه تایپ دستور در کرون‌تب به صورت زیر است:

crontab [ -u user ] file

crontab [ -u user ] [ -i ] { -e | -l | -r } [-s]

گزینه l- خروجی کرون‌تب را در خروجی استاندارد قرار خواهد داد.

گزینه r- کرون تب فعلی را حذف می‌کند.

گزینه e- برای ویرایش کرون‌تب فعلی داخل ویرایشگر خود ترمینال به‌کار می‌رود.

گزینه u- نام کاربری که کرون‌تب را تولید کرده، می‌آورد.

گزینه s- وضعیت امنیتی را نمایش می‌دهد.

توجه داشته باشید که برخی از برنامه‌ها برای اجرای درست باید با دسترسی root‌ اجرا شود. در این حالت کافی است پیش از اجرا با استفاده از دستور su به شناسه روت بروید (یا از دستور sudo استفاده کنید).

برای ویرایش کرون‌تب عبارت زیر را تایپ و تایید کنید:

crontab -e

یا

sudo crontab -e

قواعد اصلی کرون

یک فیلد می‌تواند کاراکتر ستاره باشد.

حرف m به‌جای دقیقه است و از 0 تا 59 مقدار دارد.

حرف h به‌جای ساعت است و 0 تا 23 مقدار دارد.

حرف dom به‌جای روزهای ماه است و از یک تا 31 مقدار دارد.

حرف mon به‌جای ماه‌های سال است و از یک تا 12 مقدار دارد.

حرف dow به‌جای روزهای هفته است و از یک تا 7 مقدار دارد.

همچنین می‌توان از کدهای کوتاه استفاده کرد. به نمونه‌های زیر دقت کنید:

reboot@ یک بار در زمان استارت‌آپ سیستم اجرا شود.

 

yearly @ یک بار در طول سال اجرا شود (یعنی برابر است با
*11 0 0).

monthly @ یک بار در طول ماه اجرا شود .

weekly@ یک بار در طول هفته اجرا شود .

daily@ هر روز اجرا شود .

hourly@ هر ساعت اجرا شود.

midnight@ برابر است با daily .

راه‌اندازی کرون

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

برای انجام کار اصلی، عبارت زیر را در فایل crontab وارد کنید:

* * * * * echo “The current minute is: $(date)” »» /tmp/minute.log

با فشردن کلیدهای Control-X ادیتور را ببندید و فایل را ذخیره کنید. پیغام ذخیره موفقیت آمیز برایتان نمایش داده می‌شود. از این به بعد، با بازکردن فایل /tmp/minute.log می‌توانید ببینید که کار به‌صورت خودکار در حال انجام است.

حالا اگر بخواهیم هر دو دقیقه تاریخ را به‌چاپ برسانیم، باید دستور زیر را در کرون‌تب بنویسیم:

*/2 * * * * echo “The current minute is: $(date)” »» /tmp/minute.log

توجه کنید که استفاده از n/* (وقتی n بزرگ‌تر از صفر باشد) به سیستم می‌گوید هر n‌ دقیقه یک بار یا n ساعت یک بار این دستور را اجرا کن.

حالا فرض كنید بخواهیم تاریخ را در ساعت 5:30 صبح هر روز به‌چاپ برسانیم. باید از دستور زیر برای این کار استفاده کنیم:

30 5 * * 1,5 echo “The current minute is: $(date)” »» /tmp/minute.log

استفاده از دستور echo در کرون‌تب را خوب بررسی کردیم، اما به‌جای آن می‌توان دستورات اجرای برنامه‌ها را گذاشت و برنامه‌های مختلف را اجرا کرد.

استفاده از کورن‌تب

حالا بیایید Corntab را بیازماییم، این ویرایشگر تحت وب کرون تنها با کمک کلیک‌های ماوس تمام این دستورات را برایمان تولید می‌کند. براي دسترسي به اين ابزار به نشاني زير برويد:

http://www.corntab.com/

نخست روی گزینه every n minutes کلیک کنید و اسلایدر را روی دو دقیقه ببرید.

حالا گزینه month را برگزینید. در اینجا می‌توانید ماه‌های خاصی از سال را برای اجرای این کرون‌تب به کار بگیرید.

حالا تب Day of Week را باز کرده و مثلا پنجشنبه و جمعه را انتخاب کنید سپس در بخش Command کد یا اسکریپت مورد نظر خود را وارد کنید.

همان طور که مشاهده کردید، انجام کاری بسیار پیچیده‌تر در زمان بسیار کمتری انجام شد. کافی است خروجی را کپی و در فایل Crontab پیست کنید تا عملیات پیچیده اتوماسیون شما بسادگی انجام شود.

محمدرضا قربانی

منابع: http://www.pantz.org/software/cron/croninfo.html
http://www.computerhope.com/unix/ucrontab.htm
https://help.ubuntu.com/community/CronHowto

چهار راه برای رسیدن به آرامش:
1.نگاه کردن به عقب و تشکر از خدا  2.نگاه کردن به جلو و اعتماد به خدا  3.نگاه کردن به اطراف و خدمت به خدا  4.نگاه کردن به درون و پیدا کردن خدا

پل ارتباطی : samsamdragon@gmail.com

تالارهای تحت مدیریت :

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

 

سه شنبه 12 اردیبهشت 1391  11:13 PM
تشکرات از این پست
دسترسی سریع به انجمن ها