আমি অনেকগুলি সাধারণ ত্রুটি দূর করার চেষ্টা করেছি,
PATHs ক্রোনের জন্য উপলব্ধ কিনা তা নিশ্চিত করে
ক্রন্টব ফাইলের শেষে একটি শেষরেখা রয়েছে
সময় অঞ্চলটি সেট আপ করে:
cd /etc cp /usr/share/zoneinfo/Asia/Singapore /etc/localtime
ব্যাশে date
দৌড়ে, আমি পেয়েছি:
Tue Sep 17 15:14:30 SGT 2013
ক্রোন একই সময় ব্যবহার করছে কিনা তা পরীক্ষা করার জন্য,
* * * * * date >> date.txt
একই তারিখের ফলাফল দিচ্ছে।
এই স্ক্রিপ্টটি আমি সম্পাদন করার চেষ্টা করছি:
event.sh
:
#!/usr/bin/env bash
echo data > /root/data.txt
ব্যবহার করে crontab -e
, নীচের লাইনটি কাজ করে,
* * * * * /bin/bash /root/event.sh >/tmp/debug.log 2>&1
15 * * * * /bin/bash /root/event.sh >/tmp/debug.log 2>&1
যাইহোক, আমি যখন আরও কিছু যুক্তি দিয়ে চেষ্টা করেছি, তখন আশা করছি এটি দুপুর আড়াইটা নাগাদ চলবে:
50 14 * * * /bin/bash /root/event.sh >/tmp/debug.log 2>&1
অথবা
50 14 * * * (cd /root ; ./event.sh >/tmp/debug.log 2>&1)
এটি আর কাজ করবে না। মনে হচ্ছে আমার সময়ের আর্গুমেন্টে সমস্যা আছে। /tmp/debug.log
ফাইলটিতেও কিছু পাওয়া যায়নি ।
সমাধান:
দেখা গেল টিজেডে পরিবর্তন করার পরে আমাকে ক্রোন পরিষেবা পুনরায় চালু করতে হবে।
* * * * * /bin/bash /root/event.sh >/tmp/debuge.log 2>&1
* * * * * date
এবং date
এটি প্রত্যাশিত সময় দেখায় তা নিশ্চিত করুন । নোট করুন যে ক্রোনটাবের মধ্যে থেকে টিজেড এনভায়রনমেন্ট ভেরিয়েবল সেট করা ক্রোন ডেমোনের দ্বারা ব্যবহৃত সময় অঞ্চলকে প্রভাবিত করতে পারে না, তবে এটি ক্রনের মাধ্যমে চালু হওয়া প্রক্রিয়াগুলিকে প্রভাবিত করবে , সুতরাং আপনি যদি আপনার ক্রোনটবে টিজেড সেট করেন তবে আমি এটি অস্থায়ীভাবে মন্তব্য করার পরামর্শ দেব এবং পরিবর্তে সিস্টেম ঘড়ির টাইমজোন ব্যবহার করে সময় নির্ধারণ করুন (পরিবর্তে ইউটিসি যদি আপনি একক-বুটিং লিনাক্স হন তবে স্থানীয় সময় হতে পারে)।
~/event.sh
দিয়ে চেষ্টা/home/username/event.sh