گیک فارسی

نوشته های یک گیک فارسی از فعالیت ها ،‌ علاقه مندی ها و نقد هایش

ایجاد Cron Job (کرون جاب) به صورت دینامیک با PHP

نویسنده:
23 دسامبر 14

به طور کلی هر وقت بخواهیم یکسری عملیات را به صورت تکراری در بازه های زمانی مشخص انجام بدیم از Cron Job استفاده میکنیم. Cron یک سرویس برای زمانبندی انجام کار ها در لینوکس هست که با دستور crontab میشه اون را مدیریت کرد. معمولاً ما از طریق cPanel میتونیم Cron Job های مورد نظرمون را تعریف و به کار بگیریم. اما اگه بخواهیم Cron Job ها را به صورت دینامیک ایجاد کنیم چی ؟

برای ایجاد Cron Job به صورت دینامیک سه تا سناریو داریم :
– از یک هاست اختصاصی حالا VPS یا Dedicated استفاده میکنیم و به دستور crontab از طریق PHP دسترسی داریم. در این حالت با تابع exec و دستور crontab به راحتی میتونیم cronjob ها را مدیریت کنیم.

– از یک هاست Shared استفاده میکنیم که از cPanel نسخه ۱۱.۳۲ به بالا استفاده میکنه ، در این حالت cPanel API2 – Cron را در اختیار داریم و براحتی با cPanel از طریق PHP میتونیم cronjob ها را مدیریت کنیم. اینجا توی پاسخ تأیید شده میتونید مثال‌های کاربردی را ببنید.

– از یک هاست Shared استفاد میکنیم که cPanel قدیمی داره و از cPanel API2 پشتیبانی نمیکنه ولی از SSH پشتیبانی میکنه و دسترسی های مورد نیاز هم از این طریق به ما میده. میتونید یکبار از طریق یک نرم‌افزار مثل putty کامل چک کنید و مطمئن بشین میتونید Cron Job ها را مدیریت کنید. حالا از طریق PHP libssh2 میتونید Cron Job ها را مدیریت کنید. اینجا یک آموزش کامل لاتین در این مورد هست.

– از یک هاست Shared استفاد میکنیم که cPanel قدیمی داره و از cPanel API2 و SSH (من جای شما بودم هاستم را عوض میکردم) پشتیبانی نمیکنه. در این حالت باید از سرویس های Cronjob دیگه که امکان مدیریت از طریق وب سرویس را فراهم میکنند استفاده کنیم. یکی از این سایت‌ها setcronjob.com هست که خودم زیاد ازش استفاده کرده‌ام و توصیه و تاییدش میکنم (نه اینکه هاست های من از دو روش بالا پشتیبانی نمیکنند بلکه کلاً روی سرویس های shared ترجیح میدم از سرویس های آنلاین استفاده کنم که گزارش گیری داره و از یک جا میتونم Cron Job های همه سایت‌ها را مدیریت کنم).

11 پیام برای ایجاد Cron Job (کرون جاب) به صورت دینامیک با PHP

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

نشانی ایمیل شما منتشر نخواهد شد.