Cron jobs اجرای وظایف مختلف از جمله اجرای دستورات اولیه، اسکریپت های شل و برنامه های نوشته شده به زبان هایی مانند PHP، Python، Node.js و Perl را اتومات و زمان بندی میکند. اساساً، هر دستور command line را میتوان اتومات و برنامه ریزی کرد تا در فواصل زمانی خاص اجرا شود. در این مطلب از وبلاگ پارس وی دی اس به آموزش نحوه ایجاد کرون جاب در سی پنل میپردازیم.
کاربردهای معمولی برای Cron jobs عبارتند از:
- مدیریت گزارش – گزارشهای قدیمی را حذف کنید تا از غیرقابل مدیریت شدن آنها جلوگیری کنید.
- ارسال ایمیل – وقتی کاربران به محدودیتهای منابع خود نزدیک میشوند، اعلانهایی را برای آنها ارسال کنید.
- بهروزرسانی نرمافزار – بهطور خودکار نرمافزار را برای بهروزرسانیها بررسی کنید و آنها را اعمال کنید.
- بکاپ گیری- زمانبندی پشتیبانگیری برای فایلهای وبسایت و پایگاههای داده
نحوه راه اندازی Cron Job در سی پنل
دسترسی به سرور با استفاده از ترمینال یک فرآیند آسان است که شامل ورود به حساب سی پنل خود و کلیک کردن روی چند لینک است. برای شروع، باید وارد قسمت مدیریت سی پنل خود شوید.
تنظیمات Cron Email
برای بهروزرسانی آدرس ایمیل برای دریافت اعلانهای خروجی، کافی است آدرس ایمیل جدید را در کادر ورودی ایمیل در قسمت Cron Email وارد کنید. پس از وارد کردن آدرس ایمیل جدید، روی دکمه Update Email کلیک کنید.
اگر آدرس ایمیل را بروز نکنید، اعلان ها به آدرس ایمیل پیش فرض تنظیم شده در سی پنل ارسال میشود. اگر میخواهید هیچ ایمیل اعلان Cron Job دریافت نکنید، میتوانید دستور زیر را در انتهای دستور cron job اضافه کنید.
>/dev/null 2>&1
یک Cron Job جدید اضافه کنید.
برای گنجاندن یک cron job جدید، این مراحل را انجام دهید:
- به قسمت «Add a New Cron Job» بروید.
- فرم پیکربندی ارائه شده را پر کنید.
- در فرم فرکانس اجرای cron job را مشخص کنید.
- دستور cron job مربوطه را وارد کنید.
- پس از تکمیل فرم، cron job جدید اضافه خواهد شد.
این تنظیمات را با جزئیات توضیح میدهیم:
- Common Settings – این تنظیمات شامل فواصل زمانی است که در آن cron job باید انجام شود. این موارد شامل «Once per minute» و «Once per 5 minutes» و «Once per 15 minutes» و همچنین زمانهای خاص مانند «0» یا «6» ساعت است.
انتخاب Common Setting بقیه تنظیمات زمان را پر میکند.
- Minute – در اینجا، تنظیمات دقیقه را برای cron job وارد میکنید. شما میتوانید یک بازه زمانی را با یک ستاره، به دنبال آن یک اسلش، و سپس فاصله را در دقیقه مشخص کنید. برای مثال 2/* یک فاصله زمانی دو دقیقهای است. از طرف دیگر، میتوانید دقیقه خاصی مانند 6 را برای اجرای cron job در دقیقه ششم مشخص کنید.
-
یک منوی کشویی در سمت راست کادر Minute با برخی تنظیمات رایج خواهید دید.
میتوانید تنظیمات زیر را به روشی مشابه تنظیمات دقیقه انجام دهید:
- Hour – با این گزینه میتوانید ساعات دقیقی را در طول روز تعیین کنید یا یک بازه ساعتی را انتخاب کنید.
- Day – این ویژگی به شما این امکان را میدهد که روزهای خاصی از ماه را تعیین کنید یا یک فاصله زمانی روزانه را انتخاب کنید.
- Month – این تنظیم به شما این امکان را میدهد که ماه های خاصی از سال را مشخص کنید یا یک بازه زمانی ماهانه را انتخاب کنید.
- Weekday – این عملکرد به شما امکان میدهد روزهای خاصی از هفته را انتخاب کنید (0 نشان دهنده یکشنبه و 6 نشان دهنده شنبه)، مانند روزهای هفته، فقط آخر هفته ها، روزهای خاص هفته و موارد دیگر.
توجه: توصیه میکنیم در استفاده از cron job به دلایل زیر زیاده روی نکنید:
- اجرای یک cron job در هر دقیقه ممکن است باعث شود سرور اجرای دستور cron را قبل از راه اندازی مجدد کامل نکند. این امر میتواند منابع زیادی از سرور را درگیر کند.
- توصیه میشود حداقل بازه زمانی را هر 5 یا 15 دقیقه تنظیم کنید. شایان ذکر است که بسیاری از ارائه دهندگان هاست اشتراکی حداقل فاصله زمانی 15 دقیقه را اعمال میکنند (تأیید شرایط و ضوابط آنها ضروری است).
تنظیمات زیر مربوط به دستوری است که باید برای cron job اجرا شود:
-
Command – این تنظیم جایی است که دستور cron job خود را مشخص میکنید.
- دستور زیر یک فرمان
PHP
را اجرا میکند:/usr/local/bin/php /home/thewebmaster/public_html/path/to/cron/script
اگر دامنه های افزودنی دارید، باید مسیر دامنه و همچنین نسخه PHP را فاکتور کنید:
/usr/local/bin/ea-php73 /home/thewebmaster/domain_path/path/to/cron/script
برای جایگزینی “ea-php99” با نسخه PHP اختصاص داده شده به دامنه خود، به MultiPHP Manager مراجعه کنید. برای یافتن این اطلاعات ستون PHP Version را پیدا کنید. پس از انجام تمام تنظیمات لازم، به سادگی بر روی “Add New Cron Job” کلیک کنید.
چگونه یک Cron Job را ویرایش کنیم
برای دسترسی به صفحه پیکربندی Cron Jobs، کافی است روی نماد ویژگی Cron Jobs کلیک کنید و سپس نماد Cron Jobs را که در پانل پیشرفته قرار دارد انتخاب کنید.
برای ایجاد تغییرات، به پایین اسکرول کنید و گزینه ‘Edit’ را در کنار cron job مورد نظر انتخاب کنید. بخش «Current Cron Jobs» را پیدا کنید و روی لینک «Edit» مربوط به cron job که میخواهید تغییر دهید کلیک کنید.
پیشنهاد میشود Cron Job را با توجه به نیازهای خود با تنظیماتی که در ابتدا در هنگام ایجاد آن تنظیم شده است، تغییر دهید.
لطفاً توجه داشته باشید که فقط منوی اصلی کشویی “Common Settings” قابل دسترسی است. بخش Common Settings برای هر یک از کادرهای دقیقه، ساعت، روز، ماه و روز هفته وجود ندارد. در صورت لزوم میتوانید این کرون را حذف کنید و از نو شروع کنید یا یک cron جدید ایجاد کنید و تنظیمات را منتقل کنید.
هنگامی که از تغییرات خود مطمئن شدید، روی دکمه “Edit Line” کلیک کنید.
چگونه یک Cron Job را حذف کنیم
برای حذف یک cron job، این مراحل را انجام دهید:
- صفحه را به پایین اسکرول کنید و cron job را که میخواهید حذف کنید پیدا کنید.
- بر روی گزینه ‘Delete’ در کنار cron job مورد نظر کلیک کنید.
- به پیمایش ادامه دهید تا به بخش «Current Cron Jobs» برسید.
- به دنبال پیوند «Delete» در کنار cron job که قصد حذف آن را دارید، بگردید.
- روی لینک “Delete” کلیک کنید.
- سپس روی دکمه «Delete» کلیک کنید تا حذف تایید شود.
برای تایید حذف، لطفا بر روی دکمه “Delete” کلیک کنید.
سوالات متداول
چگونه بفهمم که یک Cron Job در سی پنل اجرا میشود یا خیر؟
بررسی گزارشهای Cron Job به دسترسی روت نیاز دارد. اگر دسترسی روت دارید، دستور زیر را اجرا کنید (نام اسکریپت را جایگزین «scriptname.php» کنید
grep "scriptname.php" /var/log/cron
اگر از هاست اشتراکی بدون دسترسی روت استفاده میکنید یا ترجیح میدهید از خط فرمان استفاده نکنید، توصیه میشود یک آدرس ایمیل مشخص برای اعلانهای cron job مشخص کنید. این اقدام احتیاطی ضروری است زیرا این اعلانها میتوانند به طور بالقوه صندوق ورودی شما را تحت تأثیر قرار دهند.
چگونه میتوانم یک Cron Job را در سی پنل راه اندازی کنم؟
- وارد حساب سی پنل خود شوید و به بخش «Advanced» بروید.
- بر روی “Cron Jobs” کلیک کنید و بازه زمانی مورد نظر را برای cron job خود انتخاب کنید.
- دستور یا اسکریپتی را که می خواهید اجرا کنید وارد کنید و برای ذخیره آن روی «Add New Cron Job» کلیک کنید.
آیا میتوانم یک آدرس ایمیل سفارشی برای دریافت اعلان های cron job تعیین کنم؟
- بله، میتوانید یک آدرس ایمیل سفارشی برای دریافت اعلان های cron job در سی پنل تعیین کنید.
- پس از وارد کردن دستور یا اسکریپت برای کار cron خود، خط زیر را در پایان اضافه کنید:
- `>/dev/null 2>&1 | mail -s “Cron Job Output” [email protected]`.
- آدرس ایمیل مورد نظر خود را جایگزین «[email protected]» کنید.
چگونه میتوانم یک cron job موجود در سی پنل را ویرایش یا حذف کنم؟
- برای ویرایش یک cron job موجود، وارد حساب cPanel خود شوید و به بخش “Advanced” بروید.
- بر روی “Cron Jobs” کلیک کرده و به قسمت “Current Cron Jobs” بروید.
- cron job مورد نظر برای ویرایش را پیدا کنید و روی دکمه “Edit” در کنار آن کلیک کنید.
- تغییرات لازم را انجام دهید و برای ذخیره تغییرات روی “Edit Line” کلیک کنید.
- برای حذف یک کار cron موجود، همان مراحل بالا را دنبال کنید اما به جای آن روی دکمه “delete” در کنار cron job کلیک کنید.