কিভাবে অতীত কাজ চালানো থেকে আটকে যায়?


9

এট ডেমন একটি দুর্দান্ত সরঞ্জাম! তবে, যদি কোনও কাজ সকাল ৮ টা ৪০ মিনিটের জন্য নির্ধারিত থাকে এবং মেশিনটি সেই সময়ে বন্ধ থাকে, যখনই মেশিনটি বুট করা হয় তখন কাজটি চালানো হবে will আমি যা করতে চাই তা যদি সময় শেষ হয়ে যায় তবে কাজটি চালানো থেকে বিরত রাখা উচিত। আমি ম্যান পৃষ্ঠাগুলি এবং অনলাইন অনুসন্ধান করেছি, তবে হয় উত্তর নেই বা আমি একটিও খুঁজে পাইনি। আমি আর্চ ব্যবহার করছি, তবে যতদূর আমি জানি বিতরণগুলিতে খুব মিল।

কোন সাহায্যের অনেক প্রশংসা করা হয়!

উত্তর:


7

কোন কাজ কখন অতীত কাজ হয়ে যায়? আপনি যদি 7:59:50 এ সিস্টেমটি চালু করেন এবং atডেমনটি শুরু হয় 8:00:01, কাজটি কার্যকর করা উচিত? ডেমনটি যদি 7:59:59 থেকে শুরু হয় তবে এর সমস্ত ফাইল পড়তে দুই সেকেন্ড সময় নেয়?

তুমি সিদ্ধান্ত নাও! একটি সময় চেক দিয়ে আপনার কাজ শুরু করুন, এবং যদি সময়টি অতীত হয় তবে গর্ভপাত বন্ধ করুন।

export execute_by_date=$(date +%s 'tomorrow 8:01')
at tomorrow 8:00
[ "$(date +%s)" -le "$execute_by_date" ] || exit
do_stuff
␄

2

আপনি এমন একটি স্ক্রিপ্ট-স্ক্রিপ্ট লিখতে পারেন যা শাটডাউন বা পুনরায় বুট করার সময়ে সমস্ত শিড-এ-কাজ বাতিল করে দেয়।

আমি আর্চ-লিনাক্স সম্পর্কে নিশ্চিত নই - এখানে কি এর /etc/sysconfig/atমতো কিছু আছে কি? সম্ভবত এটি আপনাকে একটি কনফিগার-স্যুইচ হতে হবে যাতে আপনি ওপরে উঠতে পারেন ...


আমি মনে করি এটিই সেরা সমাধান, শুরুর atআগে বুটে সারিটি ফ্লাশ করুন at
বাহামাত

আমি আশা করি ঠিক এটিই সম্ভব / সম্ভব হবে! দুর্ভাগ্যক্রমে /etc/sysconfig/আর্চে কোনও ডিরেক্টরি নেই ... এবং ম্যান পৃষ্ঠাগুলিতে তালিকাভুক্ত ফাইলগুলির মধ্যে কোনওটিই কনফিগার ফাইল নয়।
এলমার

@ এলমার আমি কেবল কিছুটা গুগল করেছিলাম এবং খিলান লিনাক্স সম্পর্কে পড়ি। '/etc/rc.d/atd' এ-তে-ডেমনটির জন্য init-স্ক্রিপ্ট বলে মনে হচ্ছে। আপনি যদি এটি কোনও কনফিগ-ফাইল বিশ্লেষণ করতে দেখতে পান তবে সেখানে একবার দেখুন। আপনি যদি সেখানে ভাগ্যবান না হন তবে আপনাকে নিজের ইন্ডি-স্ক্রিপ্টের জন্য যেতে হবে (যেমন এটির নাম দিন atclearএবং আগে চালনা করুন atd)।
নীল

2

আমার ভোট cronদিমনের পক্ষে।

আপনার যদি দিনের নির্দিষ্ট সময়ে এটি চালানোর প্রয়োজন হয় তবে প্রতিদিন একই সময়ে নয়, আমি নির্দিষ্ট মৃত্যুর সময় দিয়ে প্রতিদিনের জন্য একটি রেঞ্জের সাথে একটি ক্রন্টব তৈরি করব:

থেকে নেওয়া কিছু উদাহরণ crontab(5):

# run five minutes after midnight, every day
5 0 * * *       command
# run at 2:15pm on the first of every month
15 14 1 * *     command
# run at 10 pm on weekdays
0 22 * * 1-5    command

0

আপনি যা চান তা ক্রোন ডেমন। এটি আপনি যা চান ঠিক তা করে।

ক্রোন ডেমনের জন্য আপনাকে পছন্দের সার্চ ইঞ্জিনটি খাওয়ান এবং আপনার কাছে একাধিক ম্যানুয়াল এবং নির্দেশ রয়েছে। man cronএবং man crontabএটি সহায়ক।


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