আমি একটি সার্ভারে একটি নতুন ক্রোন টাস্ক ইনস্টল করার চেষ্টা করছি। আমি কমান্ড লাইনের মাধ্যমে প্রক্রিয়াটি চালাতে সক্ষম হয়েছি, তবে ক্রোন দিয়ে এটি চালাতে পারি না। এটি যখন পাঠের কাজটি ক্রোন দিয়ে চালিত হয় তখন প্যাথ এবং পাইথনপথের জন্য পরিবেশগত ভেরিয়েবলগুলি সঠিকভাবে সেট না হওয়ার কারণে হয়। (সার্ভারে সমস্ত ক্রোন জব নিয়ে আমি আসলে এই সমস্যাটিই করছি, তবে সরলতার জন্য এই প্রশ্নের একটি প্রক্রিয়াতে ফোকাস করছি am)
প্রক্রিয়াটির জন্য ক্রোন এন্ট্রি এখানে দেওয়া হল:
### procmon NLite ###
*/2 * * * * . ~/.bashrc; cd /var/networkip/nlite/proc_mon; . bashrc; cd bin; ./proc_mon.py > /dev/null 2>&1
এখন, proc_mon ডিরেক্টরিতে বাশার্কে রয়েছে:
BASEDIR=$PWD
KODIAK_ROOT=$BASEDIR/
BASEPATH=$KODIAK_ROOT
pathadd PYTHONPATH ${BASEDIR}/lib
সুতরাং, যখন ক্রন্টাস্ক চালানো হবে - পাইথনপথ পুনরায় সেট করা উচিত , তবে এটি ঘটছে না।
ক্রোনের মাধ্যমে এই প্রকোপগুলি সাফল্যের সাথে পরিচালনা করছে আরও বেশ কয়েকটি পুরানো সার্ভার রয়েছে।
সমাধানগুলি এতদূর চেষ্টা করা হয়েছে:
- ক্রোন টাস্কে ব্যর্থ হওয়া সার্ভারের সাথে সফলভাবে ক্রোন টাস্ক থেকে সমস্ত বাশার্ক বা ব্যাশ_ প্রোফাইলগুলি তুলনা করুন
- এটি নিশ্চিত করার জন্য লগ করা পরিবেশের ভেরিয়েবলগুলি এই বিষয়টি
সমাধানগুলিতে আমি আগ্রহী নই:
- পরিবেশগত ভেরিয়েবল সেট করার জন্য একটি ক্রোন টাস্ক। এমন বেশ কয়েকটি প্রকাক রয়েছে যেগুলি ক্রোন দিয়ে চালানো দরকার এবং সেই নির্দিষ্ট স্ক্রিপ্টের সাথে সম্পর্কিত সকলের আলাদা আলাদা PATH এবং পাইথনপথ ভেরিয়েবল রয়েছে। এটি করা খুব অগোছালো হতে পারে এবং আমি ভবিষ্যতের সার্ভারগুলিতে একই প্রকল্পগুলি এবং ক্রোনগুলি ইনস্টল করার কারণে এটি কোনও দীর্ঘমেয়াদী সমাধান নয়।
আরও তথ্য:
- সার্ভারে ব্যর্থ ক্রোনটির জন্য লিনাক্স ডিস্ট্রো: সেন্টোস 6.8 প্রকাশ করেছে
- ক্রোন সাফল্যের সাথে সার্ভারের জন্য লিনাক্স ডিস্ট্রো: রেড হ্যাট এন্টারপ্রাইজ লিনাক্স সার্ভার 5.2 (টিকঙ্গা) প্রকাশ করেছে
যেহেতু ক্রোনগুলি অন্যান্য সার্ভারগুলিতে কাজ করতে সক্ষম তাই সমস্যার অবশ্যই যুক্তিসঙ্গত সমাধান থাকতে হবে।
pathadd
সংজ্ঞায়িত করা হয়েছে। আমি ধরেছিলাম এটি বাশিজম ছিল। আমি যদি ম্যানুয়ালি ডিরেক্টরিতে সিডি করি এবং . bashrc
তারপরে echo
পরিবেশের ভেরিয়েবলগুলি সবকিছু ঠিকঠাক করে দেয়। ভাল পরিমাপের জন্য, আমি pathadd
রফতানিতে পরিবর্তন করার চেষ্টা করেছি এবং ক্রন্টাস্কের জন্য এখনও যাইনি।
set +o posix
একটি ক্রন কাজগুলো শুরু ইস্যু সমাধান করা হয়েছে! আমার এখনও আরও একটি বিশ্বব্যাপী সমাধান প্রয়োজন (ক্রোনটির জন্য পসিক্স অক্ষম করা?), তবে সঠিক দিকের একটি পদক্ষেপ ...
pathadd
? আপনি কি বাশ- isms উপর নির্ভর করে? ক্রোনটি ডিফল্টরূপে / বিন / শ ব্যবহার করে আমি বিশ্বাস করি, তাই আপনাকে কমপক্ষে ক্রন্টবায় / বিন / বাশে শেল সেট করতে হতে পারে -man 5 crontab
।