۱۴۰۳-۰۹-۰۱

انجام خودکار کارها در سرورهای لینوکس

تنظیمات کرون تب در سرور لینوکس

CronTab چیست؟

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

CronTab چیست؟

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

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

آشنایی با کاربردهای کرون تب

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

دستورات Cron در لینوکس

بیایید آموزش دستورات Cron در لینوکس با زمان‌ بندی یک وظیفه که کار ساده‌ای را هم انجام می‌دهد، آغاز کنیم: نوشتن زمان دقیقه به دقیقه سیستم درون یک فایل گزارش (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

دستورات Cron در لینوکس

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

  • یک فیلد می‌تواند کاراکتر ستاره باشد.
  • حرف m به‌جای دقیقه است و از ۰ تا ۵۹ مقدار دارد.
  • حرف h به‌جای ساعت است و ۰ تا ۲۳ مقدار دارد.
  • حرف dom به‌جای روزهای ماه است و از یک تا ۳۱ مقدار دارد.
  • حرف mon به‌جای ماه‌های سال است و از یک تا ۱۲ مقدار دارد.
  • حرف dow به‌جای روزهای هفته است و از یک تا ۷ مقدار دارد.
  • همچنین می‌توان از کدهای کوتاه استفاده کرد. به نمونه‌های زیر دقت کنید:
  • reboot@ یک بار در زمان استارت‌ آپ سیستم اجرا شود.
  • yearly @ یک بار در طول سال اجرا شود (یعنی برابر است با *۱۱ ۰ ۰).
  • monthly @ یک بار در طول ماه اجرا شود .
  • weekly@ یک بار در طول هفته اجرا شود .
  • daily@ هر روز اجرا شود .
  • hourly@ هر ساعت اجرا شود.
  • midnight@ برابر است با daily .

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

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

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

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

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

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

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

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

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

۳۰ ۵ * * ۱,۵ echo “The current minute is: $(date)” »» /tmp/minute.log

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

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

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

http://www.corntab.com/

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

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

حالا تب Day of Week را باز کرده و مثلا پنجشنبه و جمعه را انتخاب کنید. سپس در بخش Command کد یا اسکریپت مورد نظر خود را وارد کنید. همان طور که مشاهده کردید با استفاده از دستورات Cron در لینوکس ، انجام کاری بسیار پیچیده‌تر در زمان بسیار کمتری انجام شد. کافی است خروجی را کپی و در فایل Crontab پیست کنید تا عملیات پیچیده اتوماسیون شما بسادگی انجام شود.

سخن آخر

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

مطالب مرتبط

 

اشتراک‌گذاری

یک نظر

  1. الهه جرتوده پاسخ

    کار کردن با لینوکس خب سخته ولی برنامه کرون کارو خیلی راحتتر میکنه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *