কিভাবে একবার ক্রোন জব চালানো যায়?


14

আমার একটি কাজ রয়েছে যা শুরু হওয়ার সাথে সাথে চিরকাল চলে। সুতরাং আমি "ক্রন্টব-ই" ফাইলটিতে প্রবেশ করে এবং যখনই পুনরায় বুট হবে তখনই এটি সংরক্ষণ করতে (বা) সংরক্ষণ করার পরে কেবল এটি শুরু করতে চাই।

কীভাবে এটি অর্জন করবেন?

উত্তর:


22

আপনি যদি পরবর্তী তারিখে একবার কমান্ড চালাতে চান তবে atকমান্ডটি ব্যবহার করুন ।

আপনি যদি সিস্টেম বুটে একবার কমান্ড চালাতে চান তবে সঠিক সমাধানটি হ'ল হয়:

  • সিস্টেম আরসি স্ক্রিপ্টস (/etc/rc.local)
  • @rebootবিশেষ উপসর্গ সহ crontab (মানচিত্র দেখুন)

দ্বিতীয়টি কোনও অ-রুট ব্যবহারকারীদের জন্য একমাত্র বিকল্প।


2
@ রিবুট উল্লেখ করার জন্য +1।
অ্যালেক্স হলস্ট

সম্ভব হলে আমি সর্বদা /etc/rc.local ব্যবহার পছন্দ করি ... আমার সন্দেহ হয় যে @reboot আসলে বুট না করে ক্রন্ড স্টার্টআপে কমান্ড চালায়। সূক্ষ্ম তবে সম্ভাব্য পার্থক্য।
মাইকিবি

ধরুন আমি ক্রন্টব ফাইলটিতে @ রিবুট "সেন্টিমিডি ............." প্রবেশ করে এটি সংরক্ষণ করেছি। এই আদেশ এখনই শুরু হবে? (বা) এটি কি পুনরায় বুট করার পরে শুরু হয়?
রামা ভাদাকট্টু

এটি ব্যবহার করে দেখুন এবং দেখুন :) আপনার সম্ভবত যা করা দরকার তা হ'ল এটি at now
ক্রন্টাবের

ভাল উত্তর. আমি সবসময় ভুলে @reboot
বিল ওয়েইস

9

আপনি (1) এ ভবিষ্যতের কোনও সময়ে একটি কাজ চালাতে ব্যবহার করতে পারেন। তবে, আপনি যদি বুটে কিছু চালাতে চান এবং এটি নিজেই চলতে থাকবে, সম্ভবত আপনি এটির জন্য /etc/init.d/ এ এন্ট্রি চান? এটি আপনাকে এটি বুটে শুরু করতে দেয়।


1
আপনি rc.local ব্যবহার করতে পারেন। /Etc/rc.local এর কমান্ডগুলি " অন্যান্য সমস্ত init স্ক্রিপ্টের পরে কার্যকর করা হবে r আপনি যদি নিজের সিএস ভি স্টাইলের ডিআই ডি স্টাফটি করতে না চান তবে আপনি নিজের ইনিশিয়ালাইজেশন স্টোর rc.local এ রাখতে পারেন" "
জো

জো: ভাল কল।
বিল ওয়েইস

কমান্ড দ্বারা শুরু হওয়া প্রক্রিয়াটি কীভাবে বন্ধ করবেন? (আমি জানি "পিএস কমান্ড" ব্যবহার করে প্রসেস আইডির তালিকা দেখে কিল প্রসেস আইডিটি কি "অ্যাট কমান্ড" এর জন্য কাজ করে)? কাস্টম স্ক্রিপ্টগুলি তৈরি করা সহজ?
রামা ভাদাকট্টু

হ্যাঁ সমস্ত প্রক্রিয়া ব্যবহার বন্ধ করা যেতে পারে kill(ধরে নিলে আপনি এটি করার অনুমতি পেয়েছেন, যা আপনি নিজের প্রক্রিয়াগুলির জন্য করেন)। একটি init স্ক্রিপ্ট তৈরি করা সত্যিই সহজ। অল্পক্ষণের /etc/init.d/একটি স্ক্রিপ্ট যে খুব দীর্ঘ এবং মডেল পুলিশের জন্য এটি পরে, অথবা জন্য Google making init scripts (your distribution)
বিল ওয়েইস

1
অনেকগুলি ডিস্ট্রোজে একটি কঙ্কাল স্ক্রিপ্ট ( /etc/init.d/skeletonওপেনসুএসইতে) অন্তর্ভুক্ত থাকে যা আপনি আপনার ব্যবহারের জন্য মানিয়ে নিতে পারেন।
মাইকিবি

3

যে কাজটি কেবল একবার চালায় এবং চিরকালের জন্য চলতে থাকে যতক্ষণ না আপনি মৃত্যুর কথা বলেন, তাকে "ডেমন" বলা হয়। এগুলি সাধারণত /etc/init.d/ এ init স্ক্রিপ্টগুলির মাধ্যমে শুরু করা হয়।

যদি আপনার কাজটি এক পর্যায়ে শেষ হয় এবং এক-ধরণের কাজ হিসাবে বিবেচিত হতে পারে তবে আপনি অ্যাট কমান্ডটি দেখতে চাইতে পারেন। উদাহরণস্বরূপ যদি আমি আজ রাতে 10PM এ ফাইন্ড কমান্ডটি চালাতে চাইতাম এবং কেবল এটিই করতাম:

$ at 10PM
at> find /root > /root/find_results.list
at> <EOT>
job 3 at 2010-02-10 22:00

1

কমান্ডটি একবার দেখুন


সিস্টেমগুলি পুনরায় বুট হয়ে গেলে কী হবে? আমাকে কি আবার "কমান্ড" প্রবেশ করতে হবে?
রামা ভাদাকট্টু

কমান্ড এন্ট্রিগুলি পুনরায় বুটগুলি জুড়ে যাবে না। আইবিএম.com/ ডেভেলপার ওয়ার্কস / লিনাক্স / লাইবারি / এল- জব- শিডুলিং এইচটিএমএল চাকরির সময়সূচীর একটি আকর্ষণীয় ভূমিকা
ডোমিনিক

@ রমা ভাদাকট্টু: "কমান্ডের এন্ট্রিগুলি রিবুটগুলি জুড়ে যাবে না।" ... যেগুলি এখনও কার্যকর করা হয়নি। দেখুন MikeyB এর উত্তর।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

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