ওয়েবসাইটে এমন কিছু কাজ আছে যেগুলো আমাদের প্রতিদিন বা নির্দিষ্ট সময় পরপর করতে হয়। যেমন—কোনো PHP স্ক্রিপ্ট চালানো, স্বয়ংক্রিয়ভাবে ডেটা আপডেট করা, নির্দিষ্ট সময় পর কোনো রিপোর্ট তৈরি করা কিংবা ব্যাকগ্রাউন্ডে কোনো নির্দিষ্ট কাজ চালানো। এসব কাজ বারবার হাতে না করে নির্দিষ্ট সময় অনুযায়ী স্বয়ংক্রিয়ভাবে চালানোর জন্য Cron Job ব্যবহার করা যায়।
আপনার ওয়েবসাইট যদি cPanel হোস্টিংয়ে থাকে, তাহলে খুব সহজেই cPanel-এর Cron Jobs অপশন থেকে এটি সেটআপ করতে পারবেন। তবে এখানে সবচেয়ে গুরুত্বপূর্ণ বিষয় হলো সঠিক সময় নির্বাচন করা এবং সঠিক কমান্ড ব্যবহার করা। ভুল কমান্ড বা ভুল ফাইলের ঠিকানা দিলে Cron Job তৈরি হলেও সেটি কাজ নাও করতে পারে।
এই গাইডে cPanel থেকে Cron Job তৈরি করার পুরো প্রক্রিয়াটি সহজভাবে দেখানো হলো। পাশাপাশি Cron Job কাজ করছে কি না সেটি পরীক্ষা করার পদ্ধতি এবং সাধারণ কিছু সমস্যার সমাধানও দেওয়া হয়েছে।
Cron Job কী?
Cron Job হলো এমন একটি ব্যবস্থা, যার মাধ্যমে সার্ভারকে আগে থেকে নির্ধারণ করে দেওয়া যায় যে কোনো নির্দিষ্ট কাজ কখন এবং কতক্ষণ পরপর চালানো হবে। একবার সঠিকভাবে সেটআপ করলে সার্ভার নির্ধারিত সময় অনুযায়ী সেই কাজটি নিজে থেকেই চালাবে।
ধরুন, আপনার একটি PHP ফাইল আছে যার কাজ হলো প্রতিদিন রাত ১২টায় কিছু তথ্য আপডেট করা। প্রতিদিন নিজে গিয়ে ফাইলটি চালানোর পরিবর্তে Cron Job ব্যবহার করে সেটিকে রাত ১২টায় স্বয়ংক্রিয়ভাবে চালানোর ব্যবস্থা করতে পারেন।
cPanel-এ Cron Job কেন ব্যবহার করবেন?
ওয়েবসাইটের বিভিন্ন স্বয়ংক্রিয় কাজের জন্য Cron Job বেশ কাজে আসে। বিশেষ করে যেসব কাজ নির্দিষ্ট সময় অনুযায়ী চালানো দরকার, সেগুলো সহজেই Cron Job দিয়ে পরিচালনা করা যায়।
- PHP স্ক্রিপ্ট নির্দিষ্ট সময়ে চালানো
- স্বয়ংক্রিয়ভাবে ডেটা আপডেট করা
- নির্দিষ্ট সময় পরপর কোনো কাজ চালানো
- রিপোর্ট তৈরি বা প্রসেসিং করা
- ব্যাকগ্রাউন্ডে নির্দিষ্ট স্ক্রিপ্ট চালানো
- ডেটাবেসের নির্দিষ্ট কাজ স্বয়ংক্রিয় করা
- কোনো API থেকে নির্দিষ্ট সময় পরপর তথ্য সংগ্রহ করা
cPanel থেকে Cron Job সেটআপ করার আগে যা লাগবে
Cron Job সেটআপ করার আগে কয়েকটি বিষয় জানা থাকলে পুরো কাজটি অনেক সহজ হয়ে যায়।
- আপনার হোস্টিং অ্যাকাউন্টে cPanel থাকতে হবে।
- যে ফাইল বা কমান্ড চালাবেন তার সঠিক অবস্থান জানতে হবে।
- PHP স্ক্রিপ্ট হলে সার্ভারে কোন PHP সংস্করণ ব্যবহার হচ্ছে তা জানা ভালো।
- কাজটি কত সময় পরপর চালাতে চান সেটি নির্ধারণ করতে হবে।
cPanel-এ Cron Jobs অপশন কোথায়?
প্রথমে আপনার হোস্টিংয়ের cPanel-এ লগইন করুন। এরপর cPanel-এর Advanced অথবা সংশ্লিষ্ট বিভাগে থাকা Cron Jobs অপশনটি খুঁজে নিন। অনেক হোস্টিং কোম্পানির cPanel ডিজাইন কিছুটা আলাদা হতে পারে। তাই অপশনটির অবস্থান এক জায়গায় নাও থাকতে পারে।
Cron Jobs অপশনে ক্লিক করলেই নতুন Cron Job তৈরি করার পেজ দেখতে পাবেন।
ধাপে ধাপে Cron Job তৈরি করার নিয়ম
ধাপ ১: cPanel-এ লগইন করুন
প্রথমে আপনার হোস্টিংয়ের cPanel অ্যাকাউন্টে প্রবেশ করুন। এরপর Cron Jobs অপশনটি খুলুন।
ধাপ ২: Cron Email সেট করুন
অনেক cPanel-এ Cron Job-এর জন্য একটি ইমেইল ঠিকানা দেওয়ার অপশন থাকে। Cron Job চলার পর সিস্টেম থেকে কোনো আউটপুট বা বার্তা থাকলে সেটি ইমেইলে পাঠানো হতে পারে।
আপনি নিয়মিত Cron Job ব্যবহার করলে একটি সক্রিয় ইমেইল ঠিকানা দেওয়া সুবিধাজনক। তবে স্ক্রিপ্ট থেকে অপ্রয়োজনীয় আউটপুট তৈরি হলে অনেক ইমেইল আসতে পারে। তাই প্রয়োজন অনুযায়ী এই সেটিং ব্যবহার করুন।
ধাপ ৩: Cron Job-এর সময় নির্বাচন করুন
এবার নির্ধারণ করতে হবে আপনার কমান্ডটি কখন চলবে। সাধারণত cPanel-এ মিনিট, ঘণ্টা, দিন, মাস এবং সপ্তাহের দিনের জন্য আলাদা অপশন থাকে।
যেমন, আপনি যদি প্রতি ৫ মিনিট পরপর কোনো স্ক্রিপ্ট চালাতে চান, তাহলে সময়ের ঘরে */5 ব্যবহার করা যায়।
আবার প্রতিদিন রাত ১২টায় চালাতে চাইলে সময়ের মান এমনভাবে সেট করতে হবে যাতে ঘণ্টা এবং মিনিটের মান রাত ১২টার সঙ্গে মিলে যায়।
Cron Schedule-এর পাঁচটি অংশ কী?
Cron-এর সময় নির্ধারণের ক্ষেত্রে সাধারণত পাঁচটি অংশ থাকে। এগুলো হলো:
* * * * *
│ │ │ │ │
│ │ │ │ └── সপ্তাহের দিন
│ │ │ └──── মাস
│ │ └────── মাসের দিন
│ └──────── ঘণ্টা
└────────── মিনিট
প্রথম অংশটি মিনিট, দ্বিতীয়টি ঘণ্টা, তৃতীয়টি মাসের দিন, চতুর্থটি মাস এবং পঞ্চমটি সপ্তাহের দিন নির্দেশ করে।
কিছু সাধারণ Cron Schedule উদাহরণ
নিচের উদাহরণগুলো সময় নির্ধারণের ধারণাটি বুঝতে সাহায্য করবে:
| কাজের সময় | Cron Schedule |
|---|---|
| প্রতি ৫ মিনিটে | */5 * * * * |
| প্রতি ১০ মিনিটে | */10 * * * * |
| প্রতি ঘণ্টায় | 0 * * * * |
| প্রতিদিন রাত ১২টায় | 0 0 * * * |
| প্রতিদিন সকাল ৮টায় | 0 8 * * * |
তবে আপনার হোস্টিং সার্ভারের সময়ের সঙ্গে আপনার স্থানীয় সময়ের পার্থক্য থাকতে পারে। তাই গুরুত্বপূর্ণ কোনো কাজের ক্ষেত্রে সার্ভারের সময় কোন টাইমজোনে চলছে সেটি আগে যাচাই করে নেওয়া ভালো।
PHP ফাইলের জন্য Cron Job সেটআপ
ধরুন আপনার ওয়েবসাইটের public_html ফোল্ডারের মধ্যে cron.php নামে একটি PHP ফাইল আছে। সাধারণভাবে PHP ফাইল চালানোর জন্য PHP-এর executable ব্যবহার করে কমান্ড দিতে হয়।
উদাহরণ হিসেবে কমান্ডটি এমন হতে পারে:
/usr/local/bin/php /home/USERNAME/public_html/cron.php
এখানে USERNAME আপনার cPanel অ্যাকাউন্টের ব্যবহারকারীর নাম দিয়ে পরিবর্তন করতে হবে। আপনার সার্ভারে PHP-এর অবস্থান ভিন্নও হতে পারে। তাই শুধু এই পথটি কপি করে ব্যবহার না করে আপনার হোস্টিং কোম্পানির নির্দেশনা অনুযায়ী PHP-এর সঠিক পথ ব্যবহার করুন।
প্রতি ৫ মিনিটে PHP স্ক্রিপ্ট চালানোর উদাহরণ
ধরুন আপনি cron.php ফাইলটি প্রতি ৫ মিনিটে চালাতে চান। তাহলে সময়ের অংশে ব্যবহার করতে পারেন:
*/5 * * * *
এর সঙ্গে PHP কমান্ড যুক্ত করলে উদাহরণটি এমন হতে পারে:
*/5 * * * * /usr/local/bin/php /home/USERNAME/public_html/cron.php
তবে আপনার সার্ভারে PHP-এর সঠিক পথ এবং ফাইলের অবস্থান আলাদা হতে পারে। সেটি অবশ্যই আপনার হোস্টিং পরিবেশ অনুযায়ী ঠিক করতে হবে।
প্রতিদিন নির্দিষ্ট সময়ে Cron Job চালানো
আপনি যদি কোনো স্ক্রিপ্ট প্রতিদিন নির্দিষ্ট সময়ে চালাতে চান, তাহলে মিনিট ও ঘণ্টার মান নির্ধারণ করলেই হয়।
যেমন প্রতিদিন রাত ১২টায় চালানোর জন্য:
0 0 * * *
আর প্রতিদিন সকাল ৮টায় চালাতে চাইলে:
0 8 * * *
এখানে সার্ভারের সময়ের বিষয়টি অবশ্যই মনে রাখতে হবে। সার্ভারের সময় যদি বাংলাদেশের সময় থেকে আলাদা হয়, তাহলে আপনার কাঙ্ক্ষিত সময় অনুযায়ী Cron Schedule সামঞ্জস্য করতে হবে।
URL দিয়ে Cron Job চালানো যায় কি?
কিছু ক্ষেত্রে ওয়েবসাইটের একটি নির্দিষ্ট URL নির্দিষ্ট সময় পরপর কল করার প্রয়োজন হতে পারে। সেক্ষেত্রে curl অথবা wget ব্যবহার করা যায়, যদি আপনার হোস্টিংয়ে এগুলো অনুমোদিত থাকে।
উদাহরণ:
curl -s https://example.com/cron.php
অথবা:
wget -q -O - https://example.com/cron.php
তবে কোনো গুরুত্বপূর্ণ বা ব্যক্তিগত কাজের URL এভাবে প্রকাশ্যে রেখে দেওয়া সবসময় ভালো পদ্ধতি নয়। প্রয়োজন হলে স্ক্রিপ্টে নিরাপত্তা ব্যবস্থা, গোপন টোকেন বা অন্য কোনো অনুমোদন ব্যবস্থা রাখা উচিত।

Cron Job কাজ করছে কি না বুঝবেন কীভাবে?
Cron Job তৈরি করার পর সবচেয়ে গুরুত্বপূর্ণ কাজ হলো সেটি ঠিকভাবে চলছে কি না পরীক্ষা করা। শুধু cPanel-এ Cron Job দেখা যাচ্ছে বলেই ধরে নেওয়া উচিত নয় যে স্ক্রিপ্টটি সফলভাবে চলছে।
পরীক্ষা করার কয়েকটি সহজ উপায় আছে।
১. লগ ফাইল তৈরি করুন
আপনার PHP স্ক্রিপ্টের কাজের ফলাফল একটি লগ ফাইলে লিখে রাখতে পারেন। তাহলে পরে দেখে বোঝা যাবে স্ক্রিপ্টটি কখন চালানো হয়েছে।
২. অস্থায়ীভাবে ফাইল তৈরি করুন
পরীক্ষার জন্য স্ক্রিপ্ট চালু হলে একটি নির্দিষ্ট ফাইলে সময় লিখে রাখতে পারেন। কাজটি ঠিকমতো হলে ফাইলের সময় দেখে বোঝা যাবে Cron Job চলছে।
Read Also:
Gmail-এ AI ফিচার কীভাবে বন্ধ করবেন? গোপনীয়তা রক্ষার সহজ নিয়ম
৩. Cron Email ব্যবহার করুন
আপনার cPanel-এর Cron Email সেটিং সক্রিয় থাকলে স্ক্রিপ্টের আউটপুট বা ত্রুটির বার্তা ইমেইলের মাধ্যমে পাওয়া যেতে পারে।
Cron Job কাজ না করলে কী করবেন?
অনেক সময় Cron Job তৈরি করার পরও প্রত্যাশিত ফল পাওয়া যায় না। এর কয়েকটি সাধারণ কারণ রয়েছে।
ফাইলের পথ ভুল
PHP ফাইলের সঠিক অবস্থান না দিলে Cron Job সেটি খুঁজে পাবে না। তাই ফাইলটি আসলে কোন ফোল্ডারে রয়েছে সেটি যাচাই করুন।
PHP-এর পথ ভুল
সব সার্ভারে PHP executable একই জায়গায় থাকে না। আপনার হোস্টিং কোম্পানি যে PHP path ব্যবহার করতে বলেছে সেটিই ব্যবহার করুন।
Permission সমস্যা
স্ক্রিপ্টের ফাইল permission অথবা সংশ্লিষ্ট ফোল্ডারের permission-এর কারণে কোনো কোনো ক্ষেত্রে Cron Job কাজ করতে পারে না। অযথা permission পরিবর্তন না করে আগে হোস্টিংয়ের ডকুমেন্টেশন বা সাপোর্ট থেকে সঠিক permission জেনে নেওয়া ভালো।
Server Time আলাদা
আপনি যে সময় ধরে Cron Job সেট করেছেন, সার্ভারের সময় সেটির সঙ্গে নাও মিলতে পারে। ফলে কাজটি আপনার প্রত্যাশিত সময়ে না-ও চলতে পারে।
স্ক্রিপ্টের ভেতরেই সমস্যা
অনেক সময় Cron Job ঠিকভাবেই চলছে, কিন্তু PHP স্ক্রিপ্টের ভেতরে কোনো ত্রুটি থাকার কারণে কাজটি সম্পন্ন হচ্ছে না। এ ক্ষেত্রে Cron নয়, স্ক্রিপ্টের কোড পরীক্ষা করতে হবে।
একই Cron Job বারবার তৈরি করবেন না
নতুন ব্যবহারকারীদের একটি সাধারণ ভুল হলো একই কাজের জন্য একাধিক Cron Job তৈরি করা। এতে একই স্ক্রিপ্ট একই সময়ে একাধিকবার চলতে পারে এবং সার্ভারে অপ্রয়োজনীয় চাপ তৈরি হতে পারে।
তাই নতুন Cron Job তৈরি করার আগে cPanel-এর বর্তমান Cron Jobs তালিকাটি দেখে নিন। একই কাজের জন্য আগে থেকেই কোনো Cron Job রয়েছে কি না নিশ্চিত হয়ে তারপর নতুনটি তৈরি করুন।
অপ্রয়োজনীয়ভাবে খুব ঘন ঘন Cron চালাবেন না
প্রতি মিনিটে Cron Job চালানো technically সম্ভব হলেও সব কাজের জন্য এটি প্রয়োজন হয় না। কোনো স্ক্রিপ্ট যদি প্রতি ঘণ্টায় একবার চালালেই যথেষ্ট হয়, তাহলে প্রতি মিনিটে চালানোর দরকার নেই।
Read More:
সেরা ফ্রি হোস্টিং ২০২৬: সুবিধা, সীমাবদ্ধতা ও বাছাই করার নিয়ম
বিশেষ করে স্ক্রিপ্টটি যদি বেশি CPU, RAM বা ডেটাবেস ব্যবহার করে, তাহলে খুব ঘন ঘন চালালে আপনার হোস্টিংয়ের ওপর অতিরিক্ত চাপ পড়তে পারে। কাজের প্রয়োজন অনুযায়ী সবচেয়ে উপযুক্ত সময় নির্ধারণ করুন।
WordPress সাইটে Cron Job ব্যবহার
WordPress-এর নিজস্ব WP-Cron ব্যবস্থা রয়েছে। এটি সাধারণ Linux Cron Job থেকে কিছুটা আলাদা। WordPress সাধারণত সাইটে ভিজিটর এলে নির্ধারিত কাজগুলো চালানোর চেষ্টা করে। ফলে কম ভিজিটরের ওয়েবসাইটে কোনো Scheduled Task সময়মতো নাও চলতে পারে।
এই ধরনের পরিস্থিতিতে অভিজ্ঞ ব্যবহারকারীরা সার্ভারের Cron Job ব্যবহার করে WordPress-এর নির্ধারিত কাজ চালানোর ব্যবস্থা করতে পারেন। তবে WP-Cron পরিবর্তন করার আগে আপনার সাইটের বর্তমান কনফিগারেশন এবং ব্যবহৃত প্লাগইনের প্রয়োজনীয়তা বুঝে নেওয়া উচিত।
Cron Job ব্যবহারের সময় নিরাপত্তার বিষয়টি মনে রাখুন
Cron Job নিজে কোনো নিরাপত্তা ঝুঁকি নয়, কিন্তু ভুলভাবে কনফিগার করা স্ক্রিপ্ট সমস্যা তৈরি করতে পারে। বিশেষ করে এমন কোনো PHP ফাইল যদি সরাসরি ওয়েব থেকে চালানো যায় এবং সেখানে কোনো যাচাই ব্যবস্থা না থাকে, তাহলে অন্য কেউ সেটি বারবার চালানোর চেষ্টা করতে পারে।
তাই সংবেদনশীল কাজের ক্ষেত্রে প্রয়োজন অনুযায়ী অনুমোদন ব্যবস্থা, গোপন টোকেন, সীমিত প্রবেশাধিকার এবং যথাযথ লগিং ব্যবহার করা ভালো। একই সঙ্গে Cron Script-এ এমন কাজ রাখা উচিত নয় যার প্রয়োজন নেই।
সাধারণ কয়েকটি Cron Expression এক নজরে
| কাজ | Expression |
|---|---|
| প্রতি মিনিটে | * * * * * |
| প্রতি ৫ মিনিটে | */5 * * * * |
| প্রতি ১৫ মিনিটে | */15 * * * * |
| প্রতি ঘণ্টায় | 0 * * * * |
| প্রতিদিন রাত ১২টায় | 0 0 * * * |
| প্রতিদিন সকাল ৮টায় | 0 8 * * * |
এগুলো শুধু সাধারণ উদাহরণ। বাস্তবে Cron Schedule নির্বাচন করার সময় আপনার কাজের প্রয়োজন এবং সার্ভারের সময় বিবেচনা করা উচিত।
cPanel থেকে Cron Job সেটআপ করা কঠিন কোনো বিষয় নয়। মূল বিষয় হলো—কোন ফাইল চালাবেন, ফাইলটির সঠিক অবস্থান কোথায়, কোন কমান্ড ব্যবহার করতে হবে এবং কত সময় পরপর কাজটি চালানো দরকার—এই চারটি বিষয় পরিষ্কারভাবে জানা।
প্রথমবার Cron Job সেটআপ করলে আগে একটি ছোট ও নিরাপদ স্ক্রিপ্ট দিয়ে পরীক্ষা করে নেওয়া ভালো। সেটি ঠিকভাবে কাজ করলে প্রয়োজনীয় মূল স্ক্রিপ্টের জন্য Cron Job তৈরি করুন। আর কোনো কাজ যদি প্রতি মিনিটে চালানোর প্রয়োজন না থাকে, তাহলে অযথা ঘন ঘন চালিয়ে সার্ভারের ওপর চাপ তৈরি না করাই ভালো।
সঠিকভাবে কনফিগার করা হলে Cron Job ওয়েবসাইটের অনেক নিয়মিত কাজ স্বয়ংক্রিয় করে দিতে পারে। ফলে একই কাজ বারবার হাতে করে করার প্রয়োজন হয় না এবং সার্ভার নির্ধারিত সময় অনুযায়ী কাজটি নিজেই সম্পন্ন করতে পারে।