اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

نحوه ایجاد و مدیریت Cron Job ها در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    نحوه ایجاد و مدیریت Cron Job ها در لینوکس

    Cron Job (کرون جاب) یکی از ابزارهای بسیار مفید در لینوکس و مورد علاقه برنامه نویسان است که اجازه اجرای اتوماتیک دستورات در یک بازه زمانی خاص، تاریخ مدنظر یا فواصل معین را برای استفاده از اهداف عمومی یا کارهای خاص شما فراهم میآورد. با توجه به توضیحات داده شده، شما میتوانید تصور کنید چطور مدیران سیستم از آن برای کارهای بک آپ گیری اتوماتیک، پاک کردن دایرکتوری،‌ اطلاع رسانی ها و غیره استفاده میکنند.

    کرون جاب در بک گراند اجرا میشود و دائما فایل /etc/crontab و /etc/cron.*/ و دایرکتوری /var/spool/cron/ را چک میکند. فایل های cron به صورت مستقیم ویرایش نمی شوند و هر کاربری یک cron خاص خودش را دارد.
    کد HTML:
    /etc/crontab
    OR
    /etc/cron.*/
    OR
    /var/spool/cron/
    با این حساب پس چطور cron job را اضافه یا ویرایش کنیم؟ با استفاده از دستورات crontab. با روش crontab شما میتوانید cron job ها را ایجاد، ویرایش، نصب و حذف کنید.

    دستور ایجاد و ویرایش cron job ها یکسان و ساده هستند. حتی شما نیاز ندارید بعد از ایجاد فایل های جدید یا ویرایش آنهایی که موجود هستند کرون را restart کنید.
    کد HTML:
    $ crontab -e


    ساختار Cron

    وقتی شما ساختار کرون جاب را بدانید، کار کردن با آن بسیار آسان است. در زیر 2 فرمت از کرون نمایش داده شده که شما باید آن را بدانید.
    کد HTML:
    A B C D E USERNAME /path/to/command arg1 arg2
    OR
    A B C D E USERNAME /root/backup.sh
    توضیح ساختار cron که در بالا ذکر شده است:

    A => محدوده زمانی به دقیقه: (از 0 تا 59)
    B => محدوده زمانی به ساعت: (از 0 تا 23)
    C => محدوده زمانی به روز: (از 0 تا 31)
    D => محدوده زمانی به ماه: (از 0 تا 12)
    E => محدوده زمانی روزهای هفته: (از 0 تا 7). شروع از دوشنبه،‌ و 0 یا 7 نشان دهنده یکشنبه است.
    USERNAME => با username خودتان جایگزین کنید
    /path/to/command => مسیر دستور یا اسکریپتی که شما میخواهید آن را زمان بندی کنید.

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

    ستاره (*) => مشخص کنند همه مقادیر ممکن برای یک فیلد میباشد.
    کاما (,) => مشخص کننده یک لیست از مقادیر میباشد.
    دش (-) => مشخص کننده یک رنج از مقادیر میباشد.
    اسلش (/) => مشخص کننده مقدار یک مرحله میباشد.

    اکنون که شما ساختار و عملگرهای cron را می دانید، اجازه دهید برخی از مثال های cron را با هم بررسی کنیم.



    مثال های Cron Job

    در اولین مرحله برای اجرای دستورات cron راه اندازی crontab تان با دستور زیر میباشد.
    کد HTML:
    # crontab -e
    اجرای اسکریپت /root/backup.sh در ساعت 3 صبح (AM) هر روز:
    کد HTML:
    0 3 * * * /root/backup.sh
    اجرای اسکرپیت script.sh در ساعت 4:30 بعد از ظهر (PM) در دومین روز هر ماه:
    کد HTML:
    30 16 2 * * /path/to/script.sh
    اجرای اسکرپیت /scripts/phpscript.php در ساعت 10 شب (PM) در طول هفته:
    کد HTML:
    0 22 * * 1-5 /scripts/phpscript.php
    اجرای اسکرپیت perlscript.pl در ساعت 23 دقیقه بعد از نیمه شب، 2AM و 4AM، هر روز:
    کد HTML:
    23 0-23/2 * * * /path/to/perlscript.pl
    اجرای دستور لینوکسی مد نظر شما در ساعت 04:05 هر یکشنبه:
    کد HTML:
    5 4 * * sun /path/to/linuxcommand


    آپشن های Cron

    لیست cron job ها:
    کد HTML:
    # crontab -l
    OR
    # crontab -u username -l
    نحوه حذف همه برنامه های زمان بندی شده در crontab:
    کد HTML:
    # crontab -r
    نحوه حدف cron job برای یک کابر/یوزر خاص:
    کد HTML:
    # crontab -r -u username


    تنظیمات در Crontab

    رشته ها (strings) چیزهای مورد علاقه برنامه نویسان هستند زیرا با حذف متون تکراری به منظور صرفه جویی در زمان بسیار مفید هستند. کرون دارای رشته های خاصی است که شما میتوانید از آنها برای ایجاد سریعتر دستورات استفاده کنید.

    @hourly => اجرا شدن در هر ساعت، برای مثال: “0 * * * *“
    @midnight => اجرا شدن در هر روز، برای مثال: “0 0 * * *“
    @daily => مشابه midnight میباشد
    @weekly => اجرا شدن در هر هفته، برای مثال: “0 0 * * 0“
    @monthly => اجرا شدن در هر ماه، برای مثال: “0 0 1 * *“
    @annually => اجرا شدن در هر سال، برای مثال: “0 0 1 1 *“
    @yearly => مشابه annually میباشد
    @reboot => اجرا شدن بعد از هر reboot (راه اندازی سیستم عامل)


    برای مثال، نحوه بک آپ گیری روزانه از سیستم تان به صورت زیر میباشد:
    کد HTML:
    @daily /path/to/backup/script.sh

    در این اینجا، شما تمام نیازهایی که برای ایجاد و مدیریت کارهای سیستم با استفاده از cron میخواستید، را دارید. شما اکنون میتوانید چندین سرور را با استفاده از دستورات زمان بندی شده راه اندازی و نگهداری کنید.


    همچنین توصیه میشود مطالعه کنید:

    دستورات cron job و crontab در لینوکس به همراه 11 مثال برای زمان بندی کارها

    اجرای اتوماتیک دستورات / اسکریپت ها در لینوکس موقع Reboot یا StartUP

    نحوه نصب و راه اندازی Ansible برای اتوماتیک کردن تسک های مدیریتی IT

    نصب و راه اندازی Puppet برای اتوماسیون کردن کارها در لینوکس

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

    6 ابزار آنلاین برای ایجاد و تست cron job در لینوکس (به زودی)


    میزان استفاده شما از کرون چه مقدار هست؟ و جزئیات دیگری هست که شما بخواهید در اینجا به اشتراک بگذارید؟

    وقتی که درباره عملیات crontab به اندازه کافی بدانید شما میتوانید از ابزار ایجاد crontab برای به وجود آوردن خطوط فایل crontab به صورت رایگان استفاده کنید.

    همچنین، شما میتوانید مقالات سایت اوبونتو را برای نحوه استفاده از cron در اینجا مطالعه کنید، که شامل منابعی مفید برای شما خواهد بود.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-07-2021, 04:16 PM.

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی
در حال انجام ...
X