আমি রুট হিসাবে একটি বাশ স্ক্রিপ্ট চালানোর জন্য, প্রতি ঘন্টা, মাসের প্রতি দিন, প্রতি ঘন্টা, 7,37 মিনিটে চালানোর জন্য একটি মূল ক্রোন জব সেট আপ করার চেষ্টা করেছি। এই স্ক্রিপ্টটি অবস্থিত /usr/bin
এবং নামযুক্ত tunlrupdate.sh
। এটি টানলারের ডিএনএস আপডেট করে।
$ ls -l /usr/bin/tunlrupdate.sh
-rwxr-xr-x 1 root root 2133 Sep 24 15:42 /usr/bin/tunlrupdate.sh
এই বাশ লিপিটি এখানে উপলব্ধ ।
যখন অনুরোধ করা হয় তখন স্ক্রিপ্টটি লিখতে থাকে যে লগতে অবস্থিত /var/log/tunlr.log
এই রুট ক্রোন জবটি যুক্ত করতে আমি রুটের ক্রন্টাবের জন্য মানকটি ব্যবহার করেছি
sudo crontab -e
এবং এই 2 লাইন শেষে .োকানো। আমি আশা করি ক্রোন স্ক্রিপ্টটি মূল হিসাবে চালাবে।
# check for updated Tunlr DNS every 30 minutes at the hour + 7 mn and hour + 37 mn
07,37 * * * * root /usr/bin/tunlrupdate.sh
পরবর্তী কমান্ড sudo crontab -l
নিশ্চিত করেছে যে ক্রোন জব প্রবেশ করা হয়েছে।
আমি উবুন্টুকে রিবুট করেছি এবং ক্রোন জবটি সঠিকভাবে চালু করা হলে লগ ফাইলটি পরীক্ষা করে দেখছিলাম। তবে লগফাইলে এমন কিছুই নেই /var/log/tunlr.log
যার অর্থ কাজটি কখনই সফলভাবে শুরু করা হয়নি।
আমি যদি কমান্ড লাইন থেকে স্ক্রিপ্টটি চালিত করি তা পরীক্ষা করেছিলাম
sudo /usr/bin/tunlrupdate.sh
তারপরে লগফাইলে আপডেট করা হয়।
আমার সিস্টেমে পরিকল্পনা অনুযায়ী এই ক্রোন জব কেন চলছে না?
আপডেট 1: এখন পর্যন্ত প্রস্তাবিত সমস্ত সমাধান কাজ করে না। আমি সিস্টেম লগ তালিকাভুক্ত করার জন্য একটি সি এল এলির জন্য ওলিকে ধন্যবাদ জানাই sudo grep CRON /var/log/syslog
। তবে আমি একটি CRON ত্রুটি পেয়েছি
CRON[13092]: (root) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ]
&& find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php
/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
স্ক্রিপ্টের কার্যকারিতা বা এই প্রস্তাবিত সমাধান ব্যতিরেকে প্রস্তাবিত PATH = সন্নিবেশ এবং মূল থেকে নিখুঁত পথের ব্যবহার সহ আমি এখনও এই ত্রুটি পেয়েছি।
কিছু অনুসন্ধানের পরে আমি এখানে বর্ণিত /usr/lib/php5/maxlifetime
হিসাবে ফাইলটিতে ত্রুটিটি স্থির করেছিলাম :Change #!/bin/sh -e --> #!/bin/sh -x
তারপরে আমার সিস্টেমে CRON ত্রুটি লগ তালিকাভুক্ত করা হচ্ছে
sudo grep CRON /var/log/syslog
Feb 11 18:07:01 Marius-PC CRON[14067]: (root) CMD (root /usr/bin/tunlrupdate.sh)
Feb 11 18:07:01 Marius-PC CRON[14066]: (root) MAIL (mailed 1 byte of output; but got
status 0x00ff, #012)
আমি এখনও বাশ স্ক্রিপ্টটি কার্যকর করতে পারি না। এবার লগতে কোনও ত্রুটি দেখানো হচ্ছে না। আশ্বাস পাওয়ার জন্য এটি স্ক্রিপ্টের বিষয়বস্তু ছিল না আমি স্ক্রিপ্টটি নীচের 3 টি লাইনে হ্রাস করেছি:
#!/bin/bash
LOGFILE=/var/log/tunlr.log
echo $LOGFILE >> $LOGFILE
আমি এখনও ক্রোন কাজ পেতে পারি না। লগ ফাইলে কিছুই লেখা হয় না। এমনকি খালি স্ক্রিপ্ট ক্রোন চলবে না? আমি পাই না। আমি জানি যে এই 2 লাইনে হ্রাস একটি স্ক্রিপ্ট চেষ্টা করছি:
#!/bin/bash
exit 0
এবং এখনও একই ত্রুটি লগ। ক্রোন স্ক্রিপ্টটি দিয়ে যায় না ...