ক্রোন থেকে শেল স্ক্রিপ্ট চলছে অজগর নয়


3

আমার অজগর প্রোগ্রাম রয়েছে, আমি এটি প্রতিদিন বিভিন্ন ভেরিয়েবল (সেন্টোস সার্ভারে) দিয়ে চালাতে চাই:

#!/bin/sh
/usr/bin/python /root/testing/test.py --variables /root/testing/daily/test1.txt
while [ $? != 0 ]
do
    sleep 60
    /usr/bin/python /root/testing/test.py --variables /root/testing/daily/test1.txt
done

sleep 60চালায়, তবে হটোপে কোনও পাইথন নেই এবং প্রোগ্রাম আউটপুট খালি। আমি পাইথনকে / usr / bin / python এ পরিবর্তন করেছি কারণ যখন আমি অনুসন্ধান করেছি তখন উত্তর পেয়েছি যে এটি ঠিক করতে পারে। এছাড়াও এই অজগর কোডটি চালানোর আগে আমার আরও একটি ছোট একটি রয়েছে, যা কেবলমাত্র পুরানো ফাইলগুলি আপডেট করে, সেই প্রোগ্রামটি চলমান এবং খুব কার্যকর। টার্মিনাল থেকে যখন আমি এই শেল প্রোগ্রামটি চালাচ্ছি sh tester.sh এটি কাজ করে তখন ক্রোন থেকে চলার সময়ই সমস্যা হয় problem

এছাড়াও এটি উবুন্টু সার্ভারে কাজ করে। কি সমস্যা? সেন্টস-এ ক্রোন এবং শেল স্ক্রিপ্ট কি আলাদাভাবে কাজ করতে পারে?

এছাড়াও, আমার ক্রন্টব সিনট্যাক্স:

22 23 * * * sh /root/testing/cron-work.sh >> /root/cron1.log
23 23 * * * sh /root/testing/cron-work2.sh >> /root/cron2.log
24 23 * * * sh /root/testing/cron-work3.sh >> /root/cron3.log
14 23 * * * sh /root/testing/cron-work4.sh >> /root/cron4.log

2
2> /tmp/cron_log.txtপাইথন কমান্ড লাইনের শেষে (বা আপনি যে নামটি চান) যুক্ত করার চেষ্টা করুন । এইভাবে, আপনি দেখতে পাচ্ছেন যে কোনও ত্রুটি ফিরে এসেছে কিনা।
টেরডন

দুঃখিত, ক্রোন সিনট্যাক্স লিখতে মিস করেছি। সম্পাদনা করা হচ্ছে ...
এমিন মাস্তিজাদা 15'14

ধন্যবাদ তবে আমার পরামর্শ অনুসারে ত্রুটিগুলিও ক্যাপচার চেষ্টা করুন, এটি আমাদের আরও কিছু তথ্য দেবে।
টেরডন

উবুন্টুতে এই ক্রোন কমান্ডগুলি পাইথন প্রোগ্রামের আউটপুট থেকে লগ ফাইল পর্যন্ত সমস্ত কিছু লিখেছে।
এমিন মাস্তিজাদা

আমি মনে করি শ ছাড়াই বা / বিন / শের সাহায্যে কাজ করতে পারে। যখন সার্ভার ম্যানুয়ালি সক্রিয় প্রোগ্রামগুলি শেষ করবে তখন এটি পরীক্ষা করবে।
এমিন মাস্তিজাদা

উত্তর:


1

নিম্নলিখিত সমাধান চেষ্টা করুন:

chmod +x test.py
chmod +x /root/testing/cron-work.sh
chmod +x /root/testing/cron-work2.sh
chmod +x /root/testing/cron-work3.sh
chmod +x /root/testing/cron-work4.sh
echo "22 23 * * * sh /root/testing/cron-work.sh"  >> /root/cron1.log 
echo "23 23 * * * sh /root/testing/cron-work2.sh" >> /root/cron2.log
echo "24 23 * * * sh /root/testing/cron-work3.sh" >> /root/cron3.log
echo "14 23 * * * sh /root/testing/cron-work4.sh" >> /root/cron4.log

chmod +x root/cron1.log
chmod +x root/cron2.log 
chmod +x root/cron3.log 
chmod +x root/cron4.log 

/etc/init.d/crond start  #redhat based servers like centos
/etc/init.d/cron  start  #debian based servers like ubuntu

crontab cron1.log
crontab cron2.log
crontab cron3.log
crontab cron4.log

ইতিমধ্যে প্রোগ্রামগুলি / usr / স্থানীয় / বিনে সরানোর মাধ্যমে সমাধান করা হয়েছে এবং এখন কেবল ক্রোন-ওয়ার্ক.শ অথবা ক্রোন-ওয়ার্ক 2.শ এবং ইত্যাদিতে কাজ করে works প্রোগ্রামে পাথ লেখার দরকার নেই। আপনার কাজের জন্যও ধন্যবাদ
এমিন মাস্তিজাদা

ঠিক আছে লোক ... আপনাকে স্বাগতম :)
এমএলএসসি

আপনি আমাকে
উজ্জীবিতও

দুঃখিত, পরের বার সুপার
्युসারে

0

কিছুই পথ থেকে চালাতে সাহায্য করেনি। সমস্ত প্রোগ্রামকে / usr / স্থানীয় / বিনে সরিয়ে নিয়েছে এবং ব্যাশের জন্য এবং অজগরটির জন্য প্রোগ্রামগুলিতে পাথ যুক্ত হয়েছে। এখন আমি এগুলি কেবল শেলটিতে ক্রোন-ওয়ার্ক.শ্রে প্রবেশ করে চালাতে পারি। এবং ক্রোনটব রাইটিং প্রোগ্রামেও কোনও পথ ছাড়াই। সবকিছু ঠিকঠাক কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.