উত্তর:
আপনার স্ক্রিপ্ট একটি # অনুপস্থিত! শুরুতে লাইন, যা স্ক্রিপ্টের জন্য কোন কমান্ড ইন্টারপ্রেটার ব্যবহার করতে হবে তা বলতে কার্নেল দ্বারা ব্যাখ্যা করা যাদুটি।
এটি দেখতে এইরকম করুন:
#!/bin/sh
notify-send "hi welcome"
এবং স্ক্রিপ্টটি সম্পাদনযোগ্য কিনা তা নিশ্চিত করুন:
ls -l home/hacks/notify.sh
chmod +x home/hacks/notify.sh
ls -l home/hacks/notify.sh
এছাড়াও, যেহেতু আপনি এটি কেবলমাত্র একবারে ঘটতে বলছেন, তাই ক্রন্টাবের টাইমজোনটি কি আপনার নিজস্ব সময় অঞ্চল হিসাবে একই? আপনি হয়ত এটি ঘটতে পারে 2 pm GMT এ।
ক্রন্টব রানিং করা কেবল সহজ। এখানে আমি ক্রোনটব কাজ চালানোর উপায় বলতে যাচ্ছি। এটি ক্রোনটবে আটকে থাকা যে কেউ তার পক্ষে দরকারী useful
*/1 * * * * cd /home/hacks && sh notify.sh
স্ক্রিপ্টটি কার্যকর করার জন্য, আমাদের এটি করতে হবে:
chmod +x home/hacks/notify.sh
এখানে আমি প্রতি এক মিনিটের জন্য এই স্ক্রিপ্টটি চালাচ্ছি ... নীচের স্ক্রিপ্টটি করে আপনি এটি লগ ফাইলটিতে এটি কাজ করছে কিনা তা অনুসন্ধান করতে এটি লিখতে পারেন
লগ লিখুন
*/1 * * * * cd /home/hacks && sh notify.sh>>test.log
মেইল পাঠাও
*/1 * * * * cd /home/hacks && sh notify.sh>>test.log | mail -s "Hi this is example" user@domain.com
4 অনুমান:
ক্রোন ডেমন চলছে না (একটি ps axfww | grep cron
পরীক্ষা করে দেখুন)
বিজ্ঞপ্তি-প্রেরণ একটি টার্মিনাল বা এক্স সেশনে আউটপুট প্রেরণের চেষ্টা করছে - তবে এটি cron
পরিবেশের মধ্যে থেকেই চালিত হয়েছে এবং এটি " কার সাথে কথা বলবেন", তাই কথা বলতে জানেন না।
আপনার স্ক্রিপ্ট কার্যকর করা যায় না
home/
নিম্নলিখিতরূপে crontab পরিবর্তন লিপিতে পথ ব্যবহারকারী স্ক্রিপ্ট হিসাবে মৃত্যুদন্ড কার্যকর করা আপেক্ষিক হয়। পুরো পথটি ব্যবহার করার চেষ্টা করুন
আপনাকে নিম্নলিখিত কমান্ড দ্বারা ক্রন্টব্যাট খুলতে হবে:
crontab -u username -e (to edit) -l(to list) -r(to remove) 10(minutes) 8-15(hours) *(Day of month) *(month) 1,3,5(days of week) /path/to/script/script_name.sh
এটি প্রতি সোমবার, বুধবার এবং শুক্রবার সকাল 10 মিনিটের সময় সকাল 8 টা থেকে 3 মিনিটে আপনার স্ক্রিপ্টটি চালাবে।
প্রথমত, আমাদের কমান্ড দিয়ে ক্রোনট্যাব সম্পাদনা করা উচিত crontab -e
এবং এর ভিতরে এটি Crontab
এক্সিকিউটেবল স্ক্রিপ্টের পথ এবং আপনার ক্ষেত্রে এর মতো যুক্ত করা উচিত
* 14 * * * home/hacks/notify.sh >/dev/null 2>&1
।
ক্রোন পরিষেবা শুরু / বন্ধ / পুনরায় চালু করুন
/etc/init.d/crond start /stop / restart
service crond start /stop /restart
systemctl stop crond.service
systemctl স্টপ crond.service
বেশ সহজ, ক্রন্টব ফাইলের নীচে নিম্নলিখিত লাইনটি যুক্ত করুন:
sudo nano /etc/crontab
@reboot root cd /home/pi/node-sonos-http-api && npm start &