ক্রোন ও ক্রন্টব, ব্যাখ্যা করা হয়েছে

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

ক্রোন কি?

ক্রোন নামটি গ্রীক ক্রোনোস থেকে এসেছে যার অর্থ "সময়"। ইউনিক্স অপারেটিং সিস্টেমে ক্রোন হ'ল একটি নিয়মিত ব্যাকগ্রাউন্ড প্রসেস ম্যানেজার (ডেমন) যা নিয়মিত বিরতিতে প্রক্রিয়া বা স্ক্রিপ্টগুলি চালায় (উদাহরণস্বরূপ, প্রতি মিনিট, দিন, সপ্তাহ, বা মাসে)। যে ক্রিয়াকলাপগুলি কার্যকর করতে হবে এবং যে সময় তাদের সম্পাদন করতে হবে তা ক্রন্টব ফাইলটিতে সুনির্দিষ্ট করা হয়েছে।

এটি কিভাবে কাজ করে

ক্রোন ডেমন শুরু হয় /etc/rc.d/ o /etc/init.d বিতরণ উপর নির্ভর করে। ক্রোন পটভূমিতে রান করে, প্রতি মিনিটে ক্রন্টব টাস্ক টেবিলটি পরীক্ষা করে জন্য / etc / নিম্নলিখিতরূপে crontab পরিবর্তন বা ইন / var / spool / ক্রোন কাজগুলি সন্ধান করতে হবে। একটি ব্যবহারকারী হিসাবে আমরা কিছু প্রক্রিয়া স্বয়ংক্রিয় করতে ক্রোন করতে টাস্ক সহ কমান্ড বা স্ক্রিপ্টগুলি যুক্ত করতে পারি। উদাহরণস্বরূপ কোনও সিস্টেমের আপডেট বা একটি ভাল ব্যাকআপ সিস্টেমের স্বয়ংক্রিয় ব্যবহার করতে এটি দরকারী।

সম্পর্কিত নিবন্ধ:
টিউটোরিয়াল: .tar.gz এবং .tar.bz2 প্যাকেজ ইনস্টল করুন

ক্রন্টব কী?

ক্রন্টব একটি সাধারণ পাঠ্য ফাইল যা ব্যবহারকারীর দ্বারা নির্দিষ্ট করা সময়ে কার্যকর করা আদেশগুলির একটি তালিকা সংরক্ষণ করে stores ক্রন্টব স্ক্রিপ্ট বা কমান্ড কার্যকর করতে হবে তার তারিখ এবং সময় যাচাই করবে, কার্যকর করার অনুমতি থাকবে এবং এটি ব্যাকগ্রাউন্ডে এটি করবে। প্রতিটি ব্যবহারকারীর নিজস্ব ক্রন্টব ফাইল থাকতে পারে, বাস্তবে জন্য / etc / নিম্নলিখিতরূপে crontab পরিবর্তন এটি রুট ব্যবহারকারীর ক্রন্টব ফাইল হিসাবে ধরে নেওয়া হয়, যখন সাধারণ ব্যবহারকারীরা (এবং এমনকি মূল) নিজের ক্রন্টব ফাইল তৈরি করতে চায় তবে আমরা ক্রন্টব কমান্ডটি ব্যবহার করব।

কোনও সাধারণ সিস্টেম ব্যবহারকারী বা রুট ব্যবহারকারী হিসাবে, বহু-ব্যবহারকারী সিস্টেমে ক্রোন কার্য পরিচালনা করার সহজ উপায় হ'ল ক্রন্টব।

ক্রন্টব ব্যবহার করা হচ্ছে

আমরা একটি সহজ উদাহরণ দিয়ে শুরু করছি।

"আমার সর্বদা আপডেট করতে হবে এবং আমি এটি পছন্দ করি না!" এর বিরক্তিকরতা দূর করতে আমরা একটি সিস্টেমের আপডেট স্বয়ংক্রিয় করতে যাচ্ছি! "

কিভাবে
সম্পর্কিত নিবন্ধ:
সিস্টেমটি জানার জন্য আদেশ (হার্ডওয়্যার এবং কয়েকটি সফ্টওয়্যার কনফিগারেশন সনাক্ত করুন)

সবার আগে আমরা একটি স্ক্রিপ্ট তৈরি করব। এই স্ক্রিপ্টটি ক্রোন দ্বারা ডাকা হবে এবং আমরা এটি করতে চাইলে সমস্ত নির্দেশাবলী থাকবে, সুতরাং এটি ক্রোনটিতে অন্তর্ভুক্ত করার আগে এটি বেশ কয়েকটি ক্ষেত্রে এবং বিভিন্ন উপায়ে এটি পরীক্ষা করা প্রয়োজন, এটির মতো একটি সহজ আপডেট স্ক্রিপ্ট:

# !!

আপনার ডিস্ট্রো লাইন থেকে # সরান। যদি এটি উবুন্টু / ডেবিয়ান হয় তবে এটি শুরু হয় অ্যাপ্ট-গেট দিয়ে।

আমরা স্ক্রিপ্টটি আপডেট.শ (যেমন স্ক্রিপ্ট ডিরেক্টরি আপনার বাড়িতে) হিসাবে সংরক্ষণ করি। আমরা উল্লিখিত স্ক্রিপ্টটির কার্যকর করার অনুমতিগুলি এর সাথে পরিবর্তন করি:

chmod a + x ~ / স্ক্রিপ্ট / update.sh

আমরা সবকিছু কয়েকটি সুচারুভাবে চলে কিনা তা যাচাই করতে কয়েকবার স্ক্রিপ্টটি চালিত করি, যা প্রয়োজনীয় তা আমরা সংশোধন করি (এতে ত্রুটি থাকা উচিত নয়, অন্যথায় ক্রোন কেবল বার বার ত্রুটি পুনরাবৃত্তি করবে)। এখন আমাদের ক্রোন্টাবটিতে টাস্কটি যুক্ত করুন।

Crontab এ কাজগুলি যুক্ত করুন

আমরা ক্রন্টব-এর সংস্করণটি ক্রন্টব-এর সাথে চালিত করি, কিছু ডিস্ট্রোজে (যেমন উবুন্টু) এটি আমাদের যে পাঠ্য সম্পাদকটি চান তা চয়ন করার বিকল্প দেয়, বাকিটি আমরা vi দিয়ে রেখেছি। Crontab ফাইলটি এরকম কিছু দেখবে।

# এমএইচ ডোম সোম ডাউ ব্যবহারকারী কমান্ড

যেখানে:

  • m স্ক্রিপ্টটি কার্যকর হওয়ার মিনিটের সাথে মিলে যায়, মান 0 থেকে 59 পর্যন্ত হয়
  • h সঠিক সময়, 24-ঘন্টা বিন্যাসটি হ্যান্ডেল করা হয়, মানগুলি 0 থেকে 23 পর্যন্ত থাকে, 0 মধ্যরাতের সাথে 12 হয়।
  • ডোম মাসের দিনটিকে বোঝায়, উদাহরণস্বরূপ আপনি যদি 15 দিনের মধ্যে চালাতে চান তবে আপনি 15 নির্দিষ্ট করতে পারবেন
  • dow সপ্তাহের দিনটির অর্থ, এটি সংখ্যাসূচক হতে পারে (0 থেকে 7, যেখানে 0 এবং 7 রবিবার হয়) বা ইংরেজিতে দিনের প্রথম 3 টি অক্ষর: সোম, মঙ্গল, বিবাহ, থু, শুক্র, বসে, সূর্য।
  • ব্যবহারকারী কমান্ডটি কার্যকর করবে এমন ব্যবহারকারীকে এটি সংজ্ঞায়িত করে, এটি মূল হতে পারে বা অন্য কোনও ব্যবহারকারী যতক্ষণ না তাদের কাছে স্ক্রিপ্টটি কার্যকর করার অনুমতি রয়েছে।
  • হুকুম সম্পাদনা করার জন্য স্ক্রিপ্টের কমান্ড বা পরম পথকে বোঝায় উদাহরণস্বরূপ: /home/usuario/scriptts/actualizar.sh, যদি এটি কোনও স্ক্রিপ্টকে কল করে তবে এটি অবশ্যই সম্পাদনযোগ্য

ক্রোন কার্যগুলির কয়েকটি উদাহরণ ব্যাখ্যা করে:

15 10 * * * ব্যবহারকারী / হোম / ইউজার / স্ক্রিপ্টস / আপডেট.শ

এটি প্রতিদিন সকাল 10: 15 টায় আপডেট.শ স্ক্রিপ্টটি চালাবে

15 22 * * * ব্যবহারকারী / হোম / ইউজার / স্ক্রিপ্টস / আপডেট.শ

এটি প্রতিদিন রাত 10: 15 টায় আপডেট.শ স্ক্রিপ্টটি চালাবে

00 10 * * 0 রুট অ্যাপটি-গেট -y আপডেট রুট ব্যবহারকারী

এটি প্রতি রবিবার সকাল দশটায় একটি আপডেট চালাবে

45 10 * * সান রুট অ্যাপ-গেট -y আপডেট

রুট ব্যবহারকারীরা প্রতি রবিবার (রবিবার) সকাল 10:45 টায় একটি আপডেট চালাবে

30 7 20 11 * ব্যবহারকারী / হোম / ইউসারিও / স্ক্রিপ্টস / আপডেট.শ

20 নভেম্বর সাড়ে সাতটায় ব্যবহারকারী স্ক্রিপ্টটি চালাবেন

30 7 11 11 সান ব্যবহারকারী / হোম / ইউসারিও / স্ক্রিপ্টস / পাস্তেল_কোন_ভেলিটাস.এস

১১ ই নভেম্বর সকাল সাড়ে at টায় এবং তা রবিবার, ব্যবহারকারী তার সিসাদমিন উদযাপন করবেন (যা আমি)

01 * * * * ব্যবহারকারী / হোম / ইউজারিও / স্ক্রিপ্টস / মোলেস্টোরকর্ডেরিও.শ

প্রতিদিন প্রতি ঘন্টা প্রতি মিনিটে একটি বিরক্তিকর অনুস্মারক (প্রস্তাবিত নয়)।

সেগুলি এখনও পরিচালনা করা যায় বিশেষ রেঞ্জ:

30 17 * * 1,2,3,4,5

সোমবার থেকে শুক্রবার পর্যন্ত প্রতিদিন বিকেল সাড়ে পাঁচটায়।

00 12 1,15,28 *

প্রতি মাসের প্রথম, পনেরো ও 12 তারিখ দুপুর বারোটায় (বেতনের জন্য আদর্শ)

এটি যদি বিভ্রান্তিকর হয়, ক্রন্টাব হ্যান্ডেল করে এই ব্যাপ্তিগুলি নির্দিষ্ট করার জন্য বিশেষ স্ট্রিং.

@ রিবুট একবার শুরু করুন, শুরুতে
@ প্রতিবছর বছরে একবার চালায়: 0 0 1 1 *
@ বার্ষিক @ ইয়ারলি হিসাবে একই
@ মাসে মাসে একবার চালানো হয়, প্রথম দিন: 0 0 1 * *
@ উইকলি সাপ্তাহিক সপ্তাহের প্রথম ঘন্টাের প্রথম মিনিট। 0 0 * * 0 ″।
@ দৈনিক প্রতিদিন, 12:00 এএম। 0 0 * * *
@ মিডলনাইট @ ডিইলি হিসাবে একই
@ প্রতি ঘন্টা প্রথম মিনিটে প্রতি ঘন্টা: 0 * * * *

এটির ব্যবহার খুব সহজ।

@ আওয়ারলি ইউজার / হোম / ইউজার / স্ক্রিপ্টস / মেমোস্টোরকর্ডেটরিও.শ

সর্বশেষ তবে কম নয়:

ক্রোন জব ম্যানেজমেন্ট

ক্রন্টব ফাইল

ব্যবহারকারীর সংজ্ঞায়িত ফাইলের সাথে বিদ্যমান ক্রন্টব ফাইলটি প্রতিস্থাপন করুন

crontab -e

ব্যবহারকারীর ক্রন্টব ফাইলটি সম্পাদনা করুন, প্রতিটি নতুন লাইন একটি নতুন ক্রন্টব কাজ হবে।

crontab -l

ব্যবহারকারীর সমস্ত ক্রোনট্যাব কার্য তালিকাভুক্ত করুন

crontab -d

ব্যবহারকারীর ক্রন্টব মুছুন

crontab -c dir

ব্যবহারকারীর ক্রোনটব ডিরেক্টরিটি নির্ধারণ করে (এটিতে ব্যবহারকারীর লেখার এবং সম্পাদনের অনুমতি থাকতে হবে)

crontab -u ব্যবহারকারী

অন্য ব্যবহারকারীর ক্রন্টাব পরিচালনা করতে উপসর্গ, উদাহরণ:

do sudo crontab -l -u root $ sudo crontab -e user2 #crontab -d -u ব্যবহারকারী

এই সরঞ্জামটি, অন্য অনেকের মতো, আরও গভীরতায় এবং আরও বিশদে আরও এখানে দেখা যায়:

ধন্যবাদ লুচাইন!