
آیا تا به حال به این فکر کرده اید که چگونه برخی وب سایت ها به صورت خودکار ایمیل های خبرنامه ارسال می کنند، فایل های موقت را پاک می کنند یا از دیتابیس خود نسخه پشتیبان تهیه می کنند؟ پاسخ در یک کلمه نهفته است: اتوماسیون. در دنیای مدیریت سرور و هاستینگ، این اتوماسیون از طریق قابلیتی به نام Scheduled Task یا Cron Job انجام می شود.
در این مقاله، به صورت جامع و گام به گام یاد خواهیم گرفت که چگونه از این ابزار قدرتمند در کنترل پنل Plesk برای اجرای خودکار اسکریپت در هاست پلسک خود استفاده کنیم.
Scheduled Task (وظیفه زمان بندی شده) ابزاری است که به شما اجازه می دهد دستورات، اسکریپت ها یا برنامه های خاصی را در زمان های از پیش تعیین شده به صورت خودکار اجرا کنید. این قابلیت مانند یک دستیار دیجیتال خستگی ناپذیر است که وظایف تکراری سرور شما را بدون نیاز به دخالت دستی انجام می دهد.
تفاوت اصطلاحات: Cron Job در لینوکس و Scheduled Task در ویندوز
اگرچه عملکرد هر دو یکی است، اما نام آن ها بسته به سیستم عامل سرور متفاوت است:
- Cron Job: این اصطلاح در سرورهای مبتنی بر لینوکس استفاده می شود. ابزار اصلی آن cron نام دارد که یک Daemon (سرویس پس زمینه) برای مدیریت وظایف است.
- Scheduled Task: این نام در سرورهای مبتنی بر ویندوز به کار می رود و مدیریت آن از طریق ابزار Task Scheduler ویندوز انجام می شود.
خوشبختانه، کنترل پنل Plesk به زیبایی هر دو سیستم را پشتیبانی می کند برای هاست لینوکس و یا هاست ویندوز قابل استفاده است و یک رابط کاربری یکپارچه و ساده برای مدیریت آن ها فراهم می کند، بنابراین شما نیازی به درگیر شدن با پیچیدگی های خط فرمان نخواهید داشت.
کاربردهای واقعی Scheduled Task چیست؟
- ارسال ایمیل های خودکار: اجرای یک اسکریپت PHP یا ASP برای ارسال خبرنامه روزانه یا هفتگی به کاربران.
- پاک سازی منظم: حذف خودکار فایل های موقت (temporary files) یا لاگ های قدیمی برای آزاد کردن فضای دیسک.
- تهیه بکاپ خودکار: اجرای یک دستور برای گرفتن بکاپ از دیتابیس سایت در نیمه شب هر روز.
- به روزرسانی محتوا: فراخوانی یک URL برای همگام سازی اطلاعات، مانند نرخ ارز یا وضعیت آب و هوا.
- نگهداری سیستم های مدیریت محتوا: اجرای وظایف داخلی وردپرس (WP-Cron) برای بررسی آپدیت ها یا انتشار پست های زمان بندی شده.
مرحله اول: دسترسی به Scheduled Tasks در Plesk
اولین قدم برای تنظیم Cron Job در پلسک، پیدا کردن بخش مربوطه در کنترل پنل است. این فرآیند بسیار ساده است.
- ورود به کنترل پنل Plesk: ابتدا با نام کاربری و رمز عبور خود وارد پنل مدیریت هاست Plesk شوید.
- پیدا کردن مسیر: در صفحه اصلی، به تب Websites & Domains بروید. در پنل سمت راست (یا در لیست ابزارهای مربوط به دامنه خود)، گزینه ای با نام Scheduled Tasks را پیدا کرده و روی آن کلیک کنید.

آشنایی با اجزای صفحه Scheduled Tasks
پس از ورود به این بخش، با یک رابط کاربری ساده مواجه می شوید که شامل موارد زیر است:

- لیست Taskهای موجود: جدولی که تمام وظایف زمان بندی شده فعلی را نمایش می دهد.
- دکمه Add Task: برای ایجاد یک وظیفه جدید از این دکمه استفاده می شود.
- دکمه های مدیریتی (Run Now, Suspend, Remove): برای اجرای فوری، غیرفعال سازی موقت و حذف کامل تسک ها.
- ستون های جدول:
- Command: دستوری که قرار است اجرا شود.
- Schedule: زمان بندی اجرای تسک.
- Status: وضعیت فعلی تسک (فعال، غیرفعال یا در حال اجرا).
مرحله دوم: ایجاد یک Scheduled Task جدید
برای شروع، روی دکمه Add Task کلیک کنید. در صفحه جدید، شما باید نوع تسک، دستور و زمان بندی آن را مشخص کنید. پلسک سه نوع اصلی تسک را ارائه می دهد:

نوع اول: Run a command (اجرای یک دستور)
این گزینه قدرتمندترین و رایج ترین نوع تسک است. شما می توانید هر دستوری که در خط فرمان (Shell) سرور قابل اجراست را اینجا وارد کنید. این شامل اجرای اسکریپت های PHP، پایتون، پرل یا دستورات سیستمی لینوکس یا ویندوز می شود.
- کاربرد: اجرای اسکریپت های CLI (Command-Line Interface)، دستورات بکاپ گیری، پاک سازی فایل ها.
- مثال (برای سرور لینوکس):
فرض کنید یک اسکریپت PHP به نام cron.php در پوشه httpdocs دارید که وظایف نگهداری سایت را انجام می دهد. دستور شما به شکل زیر خواهد بود:
php /var/www/vhosts/example.com/httpdocs/cron.php
-
- php: مفسر PHP را فراخوانی می کند.
- /var/www/vhosts/example.com/httpdocs/cron.php: مسیر کامل و مطلق فایل اسکریپت شما در سرور است. (این مسیر ممکن است در سرورهای مختلف کمی متفاوت باشد).
نوع دوم: Fetch a URL (فراخوانی یک آدرس اینترنتی)
این گزینه یک URL مشخص را در زمان تعیین شده فراخوانی می کند، درست مانند اینکه یک کاربر آن آدرس را در مرورگر خود باز کند.
- کاربرد: فعال سازی اسکریپت هایی که برای اجرا از طریق وب طراحی شده اند. این روش برای اجرای WP-Cron وردپرس یا اسکریپت هایی که نیاز به محیط وب سرور دارند، بسیار مناسب است.
- مثال:
اگر همان فایل cron.php از طریق وب قابل دسترسی باشد، می توانید از این روش استفاده کنید:
https://example.com/cron.php
نکته: این روش ساده تر است اما ممکن است از نظر امنیتی ضعیف تر باشد، زیرا هر کسی که آدرس را بداند می تواند آن را اجرا کند. بهتر است در اسکریپت خود یک کلید امنیتی (Secret Key) برای جلوگیری از اجرای غیرمجاز قرار دهید.
مرحله سوم: تنظیم زمان بندی اجرای تسک (Cron Schedule)
قلب یک Scheduled Task، زمان بندی دقیق آن است. پلسک دو راه برای تنظیم زمان ارائه می دهد: روش گرافیکی (ساده) و روش استاندارد Cron (پیشرفته).
۵ فیلد اصلی زمان بندی (فرمت استاندارد Cron)
فرمت استاندارد Cron از پنج فیلد تشکیل شده است که با فاصله از هم جدا می شوند:
Minute Hour Day-of-Month Month Day-of-Week
دقیقه ساعت روز-nام-ماه ماه روز-nام-هفته
- Minute (دقیقه): 0 تا ۵۹
- Hour (ساعت): 0 تا ۲۳ (فرمت ۲۴ ساعته)
- Day of Month (روز ماه): 0 تا ۳۱
- Month (ماه): 1 تا ۱۲ یا نام اختصاری انگلیسی (Feb, Jan, …)
- Day of Week (روز هفته): 0 تا ۶ (یکشنبه=۰ یا ۷) یا نام اختصاری انگلیسی (Mon, Sun, …)
کاراکترهای ویژه:
- * (ستاره): به معنای “هر”. مثلا * در فیلد ساعت یعنی “هر ساعت“.
- */n (گام): به معنای “هر n واحد”. مثلا */۱۵ در فیلد دقیقه یعنی “هر ۱۵ دقیقه“.
- , (کاما): برای تعیین مقادیر چندگانه. مثلا ۱,۱۵ در فیلد روز ماه یعنی “روز اول و پانزدهم ماه“.
- – (خط تیره): برای تعیین یک بازه. مثلا ۱-۵ در فیلد روز هفته یعنی “از دوشنبه تا جمعه“.
مثال های آماده و کاربردی برای زمان بندی
- اجرای تسک هر ۱۵ دقیقه:
*/۱۵ * * * *
- اجرای تسک هر ساعت، در دقیقه صفر (سر ساعت):
۰ * * * *
- اجرای تسک هر روز در نیمه شب (ساعت ۰۰:۰۰):
۰ ۰ * * *
- اجرای تسک هر دوشنبه ساعت ۸ صبح:
۰ ۸ * * ۱
- اجرای تسک در روز اول هر ماه ساعت ۱ بامداد:
۰ ۱ ۱ * *
استفاده از رابط گرافیکی برای کاربران مبتدی
اگر با فرمت Cron آشنا نیستید، نگران نباشید! پلسک یک رابط گرافیکی عالی دارد. کافی است در بخش Run، از منوهای کشویی (drop-down) استفاده کنید و گزینه هایی مانند Hourly (ساعتی)، Daily (روزانه)، Weekly (هفتگی) یا Monthly (ماهانه) را انتخاب کنید. سپس ساعت و روز دقیق را از گزینه های بعدی تعیین کنید. پلسک به صورت خودکار فرمت Cron صحیح را برای شما تولید می کند.

تنظیمات پیشرفته Scheduled Task
پس از تعیین نوع تسک و زمان بندی، می توانید تنظیمات بیشتری را برای کنترل دقیق تر اعمال کنید.
- Description (توضیحات): یک نام یا توضیح کوتاه برای تسک خود بنویسید تا بعدا به راحتی آن را شناسایی کنید (مثلا: “بکاپ روزانه دیتابیس وردپرس”).
- Notify (اطلاع رسانی):
- Do not notify: هیچ ایمیلی ارسال نمی شود.
- Send notification to my email: پس از هر بار اجرا، خروجی دستور به ایمیل صاحب اکانت پلسک ارسال می شود. (اگر اسکریپت شما خروجی نداشته باشد، ایمیل خالی خواهد بود).
- Send notification only on error (Recommended): (توصیه می شود) فقط در صورتی که اجرای تسک با خطا مواجه شود، ایمیل ارسال می شود. این بهترین گزینه برای جلوگیری از دریافت ایمیل های غیرضروری است.
ویرایش، اجرای دستی و حذف تسک ها
پس از ایجاد Task، می توانید آن را از لیست اصلی مدیریت کنید:
- Run Now (اجرای فوری): با کلیک روی این دکمه، تسک بلافاصله اجرا می شود. این قابلیت برای تست کردن صحت دستور و اسکریپت قبل از فعال سازی نهایی بسیار مفید است.
- Edit (ویرایش): برای تغییر دستور، زمان بندی یا سایر تنظیمات تسک، روی نام آن کلیک کنید.
- Suspend / Activate (غیرفعال/فعال سازی): اگر می خواهید یک تسک را به طور موقت متوقف کنید بدون اینکه آن را حذف کنید، از گزینه Suspend استفاده کنید. برای فعال سازی مجدد، روی Activate کلیک کنید.
- Remove (حذف): برای حذف کامل و دائمی یک تسک، آن را انتخاب کرده و روی دکمه Remove کلیک کنید.
در جدول اصلی، ستون های Last Run (آخرین اجرا) و Next Run (اجرای بعدی) اطلاعات مفیدی درباره وضعیت تسک به شما می دهند.
مشاهده خروجی و بررسی خطاها
اگر Task شما به درستی کار نمی کند، اولین قدم بررسی خروجی و لاگ هاست.
- ایمیل های اطلاع رسانی: ساده ترین راه، فعال کردن گزینه Notify است. اگر خطایی رخ دهد، متن خطا مستقیماً به ایمیل شما ارسال می شود.
- خطاهای رایج:
- Permission Denied (عدم دسترسی): این خطا معمولا به این دلیل رخ می دهد که کاربر سیستم (System User) اجازه خواندن، نوشتن یا اجرای فایل مورد نظر را ندارد. مطمئن شوید که Permission های فایل صحیح هستند.
- Command not found (دستور یافت نشد): مسیر فایل یا دستور اشتباه است. مسیر را به صورت کامل و مطلق (Absolute Path) وارد کنید.
- خطاهای PHP/اسکریپت: اگر دستور اجرا می شود اما اسکریپت شما خطا دارد (مثلا خطای اتصال به دیتابیس)، متن خطا در خروجی نمایش داده خواهد شد.
برای بررسی های پیشرفته تر، می توانید لاگ های سرور را بررسی کنید، اما این کار معمولا نیاز به دسترسی کنسول SSH دارد.
نکات امنیتی و حرفه ای
استفاده نادرست از Scheduled Task در Plesk می تواند مخاطرات امنیتی ایجاد کند. این نکات را همیشه رعایت کنید:
- فقط اسکریپت های معتبر را اجرا کنید: هرگز اسکریپتی را که از منبع آن مطمئن نیستید، به صورت خودکار اجرا نکنید.
- محدود کردن دسترسی به فایل های Cron: اگر اسکریپت شما (مثلا cron.php) نیازی به دسترسی عمومی از طریق وب ندارد، دسترسی به آن را از طریق فایل .htaccess یا web.config محدود کنید.
- بررسی منظم لاگ ها: به صورت دوره ای ایمیل های خطا یا لاگ های سرور را بررسی کنید تا مطمئن شوید همه چیز به درستی کار می کند.
- غیرفعال کردن تسک های غیرضروری: تسک هایی که دیگر به آن ها نیاز ندارید را Suspend یا Remove کنید تا منابع سرور بیهوده مصرف نشوند.
نتیجه گیری
قابلیت Scheduled Tasks در پلسک یکی از قدرتمندترین ابزارها برای مدیران وب سایت است. این ویژگی به شما امکان می دهد وظایف تکراری و زمان بر را به صورت کاملا خودکار مدیریت کرده و بهره وری و پایداری سایت خود را افزایش دهید.
استفاده از رابط کاربری ساده پلسک، این ابزار را به جایگزینی امن و کارآمد برای مدیریت دستی Cron از طریق SSH تبدیل کرده است. با دنبال کردن این راهنما، شما اکنون دانش لازم برای تنظیم Cron Job در پلسک را دارید. همیشه به یاد داشته باشید که تسک های خود را پس از ایجاد، تست کرده و عملکرد آن ها را به طور منظم بررسی کنید.