ঠিক আছে, তাই আমি আমার স্ক্রিপ্ট তৈরি করেছি, আমি এটি ফাইলটি /etc/cron.hourlyপরে ফেলেছি chmod 777তবে ফাইলটি এটি স্বয়ংক্রিয়ভাবে চলবে না। আমি যদি ম্যানুয়ালি এটি চালায় তবে এটি ঠিক আছে। আমার আর কিছু করার দরকার আছে?
ঠিক আছে, তাই আমি আমার স্ক্রিপ্ট তৈরি করেছি, আমি এটি ফাইলটি /etc/cron.hourlyপরে ফেলেছি chmod 777তবে ফাইলটি এটি স্বয়ংক্রিয়ভাবে চলবে না। আমি যদি ম্যানুয়ালি এটি চালায় তবে এটি ঠিক আছে। আমার আর কিছু করার দরকার আছে?
উত্তর:
ক্রন্টাব (/ ইত্যাদি / ক্রন্টব) কেন ব্যবহার করবেন না এবং ঘন্টা ক্ষেত্রের ক্ষেত্রে * / 1 ব্যবহার করুন? আমি প্রতি 5 মিনিটে স্ক্রিপ্ট চালাতে এটি ব্যবহার করেছি এবং এটি ভালভাবে কাজ করে:
# m h dom mon dow user command
* */1 * * * user command
cron.dailyমেশিনটি সার্বক্ষণিক চলমান না থাকলে ব্যবহার এবং বন্ধুরা কিছুটা ভাল কাজ করে, কারণ অ্যানাক্রন সঠিক সময়সূচির আনুমানিক চেষ্টা করার চেষ্টা করে যেখানে মেশিন সারা রাত না থাকলে প্লেইন ক্রোন কেবল তাদের চালায় না। প্রতি ঘন্টা কাজের জন্য সম্ভবত এটি এতটা গুরুত্বপূর্ণ নয়।
/etc/crontab : cron.daily, cron.weeklyএবং cron.monthly anacron দিয়ে চালানো (যদি উপলব্ধ থাকে) কিন্তু ঘনঘন run-parts --report /etc/cron.hourly।
এন্ট্রিগুলি cron.hourlyরান-পার্টস মেকানিজম দ্বারা চালিত হয় ( man run-partsআরও তথ্যের জন্য)। এবং run-partsকোন ফাইলের নামগুলি এটি বৈধ বলে মনে করে তা সম্পর্কে উপযুক্ত।
উদাহরণস্বরূপ, আপনার স্ক্রিপ্টকে একটি এক্সটেনশান দেওয়া এটিকে অবৈধ করে দেবে এবং ফলস্বরূপ কাজটি চালিত হবে না। [a-zA-Z0-9_-]বৈধ অক্ষর, তাই '। এটি অবৈধ করে তোলে।
/etc/cron.hourly(বা .daily, .weeklyইত্যাদি) - তে কোনও কাজ যুক্ত করার পরে সর্বদা পরীক্ষা করুন run-partsযা কমান্ড জারি করে এটি চালিত করবে:
run-parts --test /etc/cron.hourly
যদি এই কমান্ডটি চালিত করে এটি আপনার ফাইলটি দেখায় এর অর্থ এটি কাজ করে। অন্যথায়, যদি কিছু না দেখায় তবে আপনার ফাইলের নামটি বৈধ নয়।
আপনার লিপির নাম কী ছিল?
giving your script an extension will make it invalid and result in the job not being run
--reportআসলে স্ক্রিপ্টগুলি চালাতে ব্যবহার করতে পারেন ।
আপনার সমস্যা সম্ভবত অত্যধিক ওপেন অনুমতিগুলির মধ্যে রয়েছে, যার ফলে আপনার ফাইলটি যে কেউ সম্পাদনা করতে পারবেন। 755পরিবর্তে চেষ্টা করুন।
আপনার সিসলগ আউটপুটে ক্রোন এন্ট্রিগুলি সন্ধান করা এটির নিশ্চিত হওয়া উচিত।
ডাইথিএফের উত্তরটি সঠিক উত্তর হওয়া উচিত।
এছাড়াও, আমার স্ক্রিপ্টটি #!/bin/bashপ্রথম লাইনে ছিল না। যদিও কমান্ড লাইনের সাথে স্ক্রিপ্টটি কার্যকর করা যেতে পারে, run-partsএটি "এক্সিকিউট ফর্ম্যাট ত্রুটি" বলে প্রত্যাখ্যান করে।
থেকে ফাইলের নাম পরিবর্তন scriptname.shকরা scriptnameএবং #!/bin/bashপ্রথম লাইনে যুক্ত করা আমার স্ক্রিপ্টটি প্রতি ঘন্টা চালাতে সক্ষম করে।
আপনি যখন দৌড়াবেন
crontab -l
এই কাজ তালিকায় আছে?
যদি না হয়, এটি যোগ করুন
crontab -e
এই লাইন যুক্ত করুন
0 * * * * yourScript
যদি এটি এই তালিকায় থাকে তবে আপনার স্ক্রিপ্টের শীর্ষে প্রোগ্রামিং ভাষার পথ যুক্ত করার চেষ্টা করুন
উদাহরণ:
bash: #!/bin/bash
এই 2 টি জিনিস সর্বদা আমার সমস্যার সমাধান করে :)