ক্রন্টব প্রবেশের সিনট্যাক্সটি সঠিক দেখাচ্ছে। প্রকৃতপক্ষে, আপনি যদি " crontab -e
" ব্যবহার করে আপনার ক্রোনট্যাব সম্পাদনা করেন (যেমনটি আপনার উচিত), আপনি যেভাবেই সিন্ট্যাক্টিক্যালি অবৈধ ক্রন্টব্যাব এন্ট্রি নির্দিষ্ট করে দিলে আপনি একটি ত্রুটি পাবেন।
প্রথমত, /path_to_my_php_script/info.php
কমান্ড-লাইন থেকে সঠিকভাবে চালিত হয়?
যদি তা হয় তবে এটিও কি ঠিক এভাবে চালিত হয় ?:
/bin/sh -c "(export PATH=/usr/bin:/bin; /path_to_my_php_script/info.php </dev/null)"
যদি এটি কাজ করে, এটি কি এভাবে কাজ করে?
/bin/sh -c "(export PATH=/usr/bin:/bin; /path_to_my_php_script/info.php </dev/null >/dev/null 2>&1)"
পদক্ষেপ (3) ক্রোন আপনার প্রোগ্রামটি কীভাবে চালাবে তার অনুরূপ ("ম্যান 5 ক্রোন" নথিভুক্ত হিসাবে)
আপনার সবচেয়ে সম্ভবত সমস্যাটি হ'ল যে প্যাট ক্রোন আপনার প্রোগ্রামটি চালানোর জন্য ব্যবহার করছে তা অত্যন্ত সীমাবদ্ধ। অতএব, আপনি আপনার ক্রন্টব এন্ট্রিটির শীর্ষে নীচের মতো কিছু যুক্ত করতে ইচ্ছুক হতে পারেন (আপনার স্ক্রিপ্টের যে কোনও ডিরেক্টরিতে আপনাকে যা দরকার তা যোগ করতে হবে):
PATH=~/bin:/usr/bin/:/bin
এছাড়াও লক্ষ করুন যে ক্রোন /bin/sh
বাশ নয়, ডিফল্টরূপে ব্যবহার করবে । আপনার যদি বাশের প্রয়োজন হয় তবে এটি আপনার ক্রন্টব ফাইলের শুরুতে যুক্ত করুন:
SHELL=/bin/bash
মনে রাখবেন যে এই দুটি পরিবর্তনই সমস্ত ক্রন্টব এন্ট্রিগুলিকে প্রভাবিত করবে । আপনি যদি কেবলমাত্র আপনার info.php
প্রোগ্রামের জন্য এই মানগুলি সংশোধন করতে চান তবে আপনি এরকম কিছু করতে পারেন:
*/2 * * * * /bin/bash -c ". ~/.bashrc; /path_to_my_php_script/info.php"
এটিও উল্লেখ করার মতো যে "মেল" (অন্য কথায় এমন একটি সিস্টেম যা একটি এমটিএ কনফিগার করা [সেন্ডমেল / পোস্টফিক্স / ইত্যাদি] আছে) তে ক্রন্টব্যাব প্রোগ্রামগুলি থেকে সমস্ত আউটপুট স্বয়ংক্রিয়ভাবে ইমেলের মাধ্যমে আপনাকে প্রেরণ করা হয়। একটি ডিফল্ট উবুন্টু ডেস্কটপ সিস্টেমে স্থানীয় মেল কনফিগার করা থাকবে না, তবে আপনি যদি কোনও সার্ভারে কাজ করছেন তবে এই সমস্ত ক্রোন মেল দেখতে আপনি কেবল একটি টার্মিনালে "মেল" টাইপ করতে পারেন। এটি at
কমান্ডের ক্ষেত্রেও প্রযোজ্য ।