আমি ক্রোন "এলোমেলো" করতে পারি?


12

সম্ভবত আমি সম্পূর্ণ বাদাম, এবং যদি তাই হয় - এটি ঠিক আছে। তবে কিছু-এলোমেলো-শিডিয়ুলের মতো কোনও বোকা বার্তা সম্প্রচার করার জন্য আমি কীভাবে কোনও কাজের সময়সূচি দেব fortune?

স্পষ্টতা
হ্যাঁ - এটি আমার ব্যক্তিগত ওয়ার্কস্টেশন - কোনও প্রোডাকশন সার্ভারে উইঙ্কি কিছু করার পরিকল্পনা নেই :)

উত্তর:


12

atএই ধরণের উদ্দেশ্যটির জন্য একটি সহজ ইন্টারফেস রয়েছে যদি atইনস্টল করা থাকে, মেশিনটি চলমান থাকে atdএবং ব্যবহারকারীকে কমান্ডটি ব্যবহারের অনুমতি দেওয়া হয়।

উদাহরণস্বরূপ (ব্যবহার করে সঠিক সিনট্যাক্সটি পরীক্ষা করুন man atবা info at),

at -f ফাইল now + 53 minutes

অথবা

at -f ফাইল now + 2 hours

নির্দিষ্ট ফাইলটিতে কমান্ডগুলি যথাক্রমে 53 মিনিট বা 2 ঘন্টা চালাবে।

at তারপরে উপযুক্ত (এলোমেলো বা অন্যথায়) শুরু, গণনা এবং সময়-ইউনিটগুলির সাথে তফসিলযুক্ত কাজের শুরুতে পুনরায় রান করা যায়।

সম্পাদন করা

আরজান নীচে সহায়কভাবে উল্লেখ করেছেন, আপনি যদি খেলনা অ্যাপ্লিকেশন ব্যতীত অন্যদের জন্য এটি ব্যবহার করে থাকেন তবে কী ঘটবে তা নিয়ে আপনাকে ভাবতে হবে

  1. পূর্ববর্তী রান শেষ হওয়ার আগেই শুরু হয় (উদাহরণস্বরূপ স্ক্রিপ্টটি আবার প্রবেশকারী?) বা

  2. যদি কোনও রান সঠিকভাবে শেষ করতে ব্যর্থ হয় বা

  3. যদি পরবর্তী রানটি পুরোপুরি বা সময়মতো শুরু করতে ব্যর্থ হয় (যেমন পরবর্তী রান শুরু হওয়ার কারণে মেশিনটি বন্ধ থাকলে কী ঘটে) এবং এবং

  4. ব্যর্থ বা সফল রান লগিং এবং রিপোর্টিং সম্পর্কে।


এটি এমন একটি দৃষ্টিভঙ্গি যা আমি বিবেচনা করি নি - এবং এটি পুনরুক্তি করা যায়, যদি fileপরবর্তী atরান থাকে তবে সঠিক?
ওয়ারেন

দুর্দান্ত - সবেমাত্র এটি চেষ্টা করে দেখে এবং দুর্দান্ত কাজ করে :)
ওয়ারেন

2
+1, তবে কয়েকটি বিষয় বিবেচনা করতে হবে: at-কমান্ড প্রথম লাইন হয় এবং যদি স্ক্রিপ্টটি দীর্ঘ সময়ের জন্য চালিত হয় (বা যদি অন্তরগুলি সংক্ষিপ্ত হয়), তবে একসাথে একাধিক ঘটনা চালনা থেকে সাবধান থাকুন। তবে যখন atস্ক্রিপ্টের শেষ লাইনে থাকবে তখন অবশ্যই স্ক্রিপ্ট ব্যর্থ হলে পুনরায় সময়সূচী করা হবে না। এছাড়াও, কমান্ড লাইন থেকে স্ক্রিপ্টটি চালানো এটিকে (পুনরায়) নিজেই শিডিয়ুল করে দেবে (এবং: একাধিক সময়সূচী একই সাথে উপস্থিত হতে পারে)। এবং cronইমেলের মাধ্যমে কোনও ত্রুটি (বা: সাধারণভাবে আউটপুট) প্রেরণকে সমর্থন করে; আমি জানি না এর atমতো কিছু আছে কিনা ?
আরজান

@Arjan - যে - আমি খুব এটি (এই সময়ে) ব্যর্থ এবং আমাকে একটি ইমেইল পাঠানোর .. যেহেতু আমি এটা ব্যবহার করছি আমার ওয়ার্কস্টেশন :) ..however উপর মজা আছে সম্পর্কে চিন্তিত নই IS আমার মনে হয় কিছু যদি এটি প্রসারিত করা হয়, বলুন, অনুপ্রবেশের জন্য এলোমেলো চেক
ওয়ারেন

আমি যে স্ক্রিপ্টটি কল্পনা করছি তা এতে একবারে কত কপি
ওয়ারেন

13

আমার কাছে অনেকগুলি কমান্ড রয়েছে / ইত্যাদি / ক্রন্টব সব ধরণের কাজ করে এবং কিছুকে সেকেন্ডে যথাযথতা প্রয়োজন। এখন ক্রোন সব সময় দৃশ্যমান এবং কেন্দ্রীভূত রেখে সূক্ষ্ম রেজোলিউশন করতে পারে।

এই উদাহরণটি প্রতি 5 মিনিটের 10 ও 50 সেকেন্ডের মধ্যে একটি ওয়েব পৃষ্ঠাকে পেয়ে এবং পার্স করে:

4-59/5 * * * * root (sleep $(($RANDOM\%40+10))) && /etc/munin/plugins/someplugin prefetch

ডেটা ধীর গতিতে চলার কারণে এটিতে সঠিক সময় থাকতে হবে না, তবে এটি ওয়েবপৃষ্ঠাগুলির জন্য অপেক্ষা না করে মুনিন নোডের কার্যকর সময়কে যতটা সম্ভব কম রাখতে সহায়তা করে। (প্লাগইনটি অপ্রয়োজনীয় হিটগুলি হ্রাস করতে 30 মিনিটের জন্য পৃষ্ঠাটি ক্যাশে করে, তবে প্রতি 5 মিনিটে একটি ডাটাবেস আপডেট করতে হবে)।

"\ N" - এর জন্য মেল পাঠ্যকে এক লাইনে রাখতে দরকারী - ক্রোন বিকল্প%%% নোট করুন Note


আপনি যদি ওয়েবপৃষ্ঠাগুলি ক্যাচ করছেন, আপনি অগত্যা সঠিক লোডের ফলাফল পাচ্ছেন না
ওয়ারেন

1
হ্যাঁ, আমি জানি - 'ডেটা ধীর গতিতে চলছে' - প্লাগইনটি কোনও সাইট থেকে মুদ্রা বিনিময় হার পায় এবং আমি নিষিদ্ধ হতে চাই না। (আমি কোনও ব্যবসায়ী নই তবে মুনিন গ্রাফগুলি দেখার জন্য আমি অনেক সময় ব্যয় করি) স্থানীয় আবহাওয়ার জন্য আমি অনুরূপ প্লাগইন তৈরি করেছি। অন্তহীন অ্যাপ্লিকেশন!
অ্যান্ডি লি রবিনসন

1
আহা! .. খুব শীতল পন্থা :)
ওয়ারেন

6

অভ্যন্তরীণভাবে cron, আমি মনে করি না যে এমন কোনও বৈশিষ্ট্য বিদ্যমান। আমি মনে করি সবচেয়ে ভাল সমাধান হ'ল আপনার কমান্ডটি শেল স্ক্রিপ্টে স্থাপন করা এবং স্ক্রিপ্টের sleepশীর্ষে একটি এলোমেলো ব্যবধান স্থাপন করা এবং $RANDOMভেরিয়েবলটি ব্যবহার করা । তারপরে নিয়মিত ক্রোন চাকরিতে দিনে একবার স্ক্রিপ্টটি চালান।

#!/bin/bash
sleep $(($RANDOM%5))
/path/to/command -param1 -param2

1
ঘুম () এটি পরিষেবা সরবরাহকারীর দ্বারা নিহত হওয়ার প্রায় গ্যারান্টি। অবশ্যই, তিনি পরিষেবা প্রদানকারী।
একটি বামন

1
আমি ধরে নিয়েছিলাম যে এটি তার নিজের লিনাক্স মেশিনে বা অন্য কিছুতে এলোমেলোভাবে কারও কাছে ভাগ্য উপস্থাপন করতে দ্বিধা প্রকাশ করেছে
জন টি

ঠিক আছে, এটা সত্য।
একটি বামন

ঘুম কেন খারাপ ধারণা? শুধু জিজ্ঞাসা করছি ...
টাদিউস এ। কাদুউবস্কি

@ জন টি
ওয়ারেনের

6

এটি নির্ভর করবে আপনি কোন ধরণের বিরতি পরেছেন। তবে আমাদের ধরে নেওয়া যাক আপনি 1:30 এর সম্ভাব্যতার সাথে স্ক্রিপ্টটি এলোমেলোভাবে চলতে চান (প্রতি 30 মিনিটে একবার)

  • 10 মিনিট বলে, একটি পেরিওডিয়োসিটির জন্য আপনার ক্রোন স্ক্রিপ্ট তৈরি করুন। এটি প্রতি 30 মিনিটে 3 বার আগুন লাগবে।

  • স্ক্রিপ্টের ভিতরে if স্টেটমেন্টের শর্ত হিসাবে র্যান্ড ব্যবহার করুন । আপনি 0 এবং 2 এর মধ্যে একটি নম্বর ফেরত দিতে চান it

মূলত আপনার স্ক্রিপ্টটি সর্বদা একটি নির্দিষ্ট বিরতিতে চালিত হয়। তবে আপনি যে কমান্ডটি এলোমেলোভাবে আগ্রহী সেটিকেই কার্যকর করবে। আপনার পরিষেবা প্রদানকারী আপনাকে ধন্যবাদ জানাবে।


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