লিনাক্স কমান্ড প্রতি X সেকেন্ড চিরকাল কীভাবে চালানো বা পুনরাবৃত্তি করা যায়


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

এই টিউটোরিয়ালে, আপনি ডিফল্টরূপে প্রতি 3 সেকেন্ডের জন্য শীর্ষ কমান্ডের মতো ক্রমাগত চলমান অবস্থায় (ক্রমাগত প্রক্রিয়া এবং মেমরির ব্যবহার নিরীক্ষণ) একটি নির্দিষ্ট কমান্ডের উপর নজর রাখতে বা নজর রাখতে একটি সাধারণ স্ক্রিপ্টিং কৌশল শিখবেন।

আপনাকে প্রায়শই কেন কমান্ড চালাতে হবে তার কারণগুলি নিয়ে আলোচনা করা আমরা থামাব না। আমি বিশ্বাস করি প্রত্যেকের প্রতিদিনের কাজগুলিতে বা বাড়িতে পিসি এবং ল্যাপটপগুলিতে এর বিভিন্ন কারণ রয়েছে।

1. ওয়াচ কমান্ড ব্যবহার করুন

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

"দেখুন" ব্যবহার করা অত্যন্ত সহজ, এটি পরীক্ষা করার জন্য, আপনি এখনই একটি লিনাক্স টার্মিনাল চালু করতে পারেন এবং নীচের কমান্ডটি টাইপ করতে পারেন:

# watch free -m

উপরের কমান্ডটি আপনার সিস্টেমের ফ্রি মেমরি পরীক্ষা করবে এবং ফ্রি কমান্ডের ফলাফল প্রতি দুই সেকেন্ডে আপডেট করবে।

উপরের ফলাফল হিসাবে দেখা গেছে, আপনার একটি শিরোনাম রয়েছে, (বাম থেকে ডানে) আপডেট বিরতি সম্পর্কে তথ্য প্রদর্শন করে, যে আদেশটি কার্যকর করা হচ্ছে এবং বর্তমান সময়। আপনি যদি এই শিরোনামটি আড়াল করতে চান তবে আপনি -t বিকল্পটি ব্যবহার করতে পারেন।

পরবর্তী যৌক্তিক প্রশ্ন হ'ল- কার্যকর করার ব্যবধানটি কীভাবে পরিবর্তন করা যায়। এই উদ্দেশ্যে, আপনি -n বিকল্পটি ব্যবহার করতে পারেন, যা অন্তর নির্দিষ্ট করে যা কমান্ডটি কার্যকর করা হবে। এই ব্যবধানটি সেকেন্ডে নির্দিষ্ট করা হয়। সুতরাং আসুন আমরা বলি যে আপনি নিজের স্ক্রিপ্ট.শ ফাইলটি প্রতি 10 সেকেন্ড পরে চালাতে চান, আপনি এটি এটি করতে পারেন:

# watch -n 10 script.sh

মনে রাখবেন যে আপনি যদি উপরে প্রদর্শিত কমান্ডটি চালিত করেন তবে আপনাকে cd ডিরেক্টরিতে (15 সিডি কমান্ড উদাহরণ শিখুন) যেখানে স্ক্রিপ্টটি অবস্থিত হবে বা অন্যথায় script স্ক্রিপ্টের পুরো পথ নির্দিষ্ট করতে হবে।

ওয়াচ কমান্ডের অন্যান্য দরকারী বিকল্পগুলি হ'ল:

  1. -b - কমান্ডের প্রস্থান শূন্য না হলে একটি বীপ শব্দ তৈরি করে
  2. -c - এএনএসআই রঙের অনুক্রমের ব্যাখ্যা করে।
  3. -d - কমান্ড আউটপুটে পরিবর্তনগুলি হাইলাইট করে।

ধরা যাক আপনি প্রতি কয়েক সেকেন্ডে অবিচ্ছিন্ন পর্যায়ে লগ-ইন করা ব্যবহারকারীগণ, সার্ভার আপটাইম এবং গড় আউটপুট লোড করতে চান, তারপরে নিম্নলিখিত কমান্ডটি প্রদর্শিত হবে:

# watch uptime

কমান্ডটি থেকে বেরিয়ে আসতে CTRL + C টিপুন।

এখানে আপটাইম কমান্ডটি ডিফল্টরূপে প্রতি 2 সেকেন্ডে আপডেট হওয়া ফলাফলগুলি প্রদর্শন করবে এবং প্রদর্শন করবে।

লিনাক্সে cp কমান্ড ব্যবহার করে এক অবস্থান থেকে অন্য স্থানে ফাইলগুলি অনুলিপি করার সময়, তথ্যের অগ্রগতি দেখানো হয় না, অনুলিপি করা তথ্যের অগ্রগতি দেখতে আপনি ঘড়ি আসল সময়ে ডিস্কের ব্যবহার পরীক্ষা করার জন্য du -s কমান্ড সহ কমান্ড।

# cp ubuntu-15.10-desktop-amd64.iso /home/tecmint/ &
# watch -n 0.1 du -s /home/tecmint/ubuntu-15.10-desktop-amd64.iso 

যদি আপনি মনে করেন যে উপরের প্রক্রিয়াটি অর্জন করা খুব জটিল, তবে আমি আপনাকে অগ্রিম কপি কমান্ডের জন্য পরামর্শ দেওয়ার পরামর্শ দিচ্ছি, যা অনুলিপি করার সময় ডেটার অগ্রগতি দেখায়।

2. স্লিপ কমান্ড ব্যবহার করুন

ঘুম প্রায়শই শেল স্ক্রিপ্টগুলি ডিবাগ করার জন্য ব্যবহৃত হয় তবে এর অন্যান্য অনেকগুলি দরকারী উদ্দেশ্যও রয়েছে। উদাহরণস্বরূপ, বা লুপের জন্য এর সাথে একত্রিত হয়ে গেলে আপনি দুর্দান্ত ফলাফল পেতে পারেন।

আপনি যদি বাশ স্ক্রিপ্টিংয়ে নতুন হন তবে আপনি এখানে বাশ লুপ সম্পর্কে আমাদের গাইড পরীক্ষা করতে পারেন।

আপনি "স্লিপ" কমান্ডটি সম্পর্কে প্রথমবার শুনলে নির্দিষ্ট সময়ের জন্য কিছু বিলম্ব করতে ব্যবহৃত হয়। স্ক্রিপ্টগুলিতে, আপনি এটি ব্যবহার করতে পারেন আপনার স্ক্রিপ্টটি কমান্ড 1 চালাতে, 10 সেকেন্ড অপেক্ষা করুন এবং তারপরে কমান্ড 2 চালান।

উপরের লুপগুলির সাহায্যে আপনি কমান্ডটি চালাতে বাশ বলতে পারেন, N পরিমাণ পরিমাণ সেকেন্ডের জন্য ঘুমাতে পারেন এবং তারপরে আবার কমান্ডটি চালাতে পারেন।

নীচে আপনি উভয় লুপের উদাহরণ দেখতে পাচ্ছেন:

# for i in {1..10}; do echo -n "This is a test in loop $i "; date ; sleep 5; done

উপরের একটি লাইনার, ইকো কমান্ডটি চালাবে এবং মৃত্যুদন্ড কার্যকর করার মধ্যে 5 সেকেন্ডের ঘুম সহ বর্তমান তারিখটি মোট 10 বার প্রদর্শন করবে।

এখানে একটি নমুনা আউটপুট:

This is a test in loop 1 Wed Feb 17 20:49:47 EET 2016
This is a test in loop 2 Wed Feb 17 20:49:52 EET 2016
This is a test in loop 3 Wed Feb 17 20:49:57 EET 2016
This is a test in loop 4 Wed Feb 17 20:50:02 EET 2016
This is a test in loop 5 Wed Feb 17 20:50:07 EET 2016
This is a test in loop 6 Wed Feb 17 20:50:12 EET 2016
This is a test in loop 7 Wed Feb 17 20:50:17 EET 2016
This is a test in loop 8 Wed Feb 17 20:50:22 EET 2016
This is a test in loop 9 Wed Feb 17 20:50:27 EET 2016
This is a test in loop 10 Wed Feb 17 20:50:32 EET 2016

আপনি নিজের কমান্ড বা স্ক্রিপ্টের সাহায্যে প্রতিধ্বনি এবং তারিখের আদেশগুলি পরিবর্তন করতে পারেন এবং আপনার প্রয়োজন অনুযায়ী ঘুমের ব্যবধান পরিবর্তন করতে পারেন।

# while true; do echo -n "This is a test of while loop";date ; sleep 5; done

এখানে নমুনা আউটপুট:

This is a test of while loopWed Feb 17 20:52:32 EET 2016
This is a test of while loopWed Feb 17 20:52:37 EET 2016
This is a test of while loopWed Feb 17 20:52:42 EET 2016
This is a test of while loopWed Feb 17 20:52:47 EET 2016
This is a test of while loopWed Feb 17 20:52:52 EET 2016
This is a test of while loopWed Feb 17 20:52:57 EET 2016

উপরের কমান্ডটি ব্যবহারকারী দ্বারা নিহত বা বাধা না দেওয়া পর্যন্ত চলবে run আপনার যদি পটভূমিতে চলমান কোনও কমান্ড চালানোর প্রয়োজন হয় এবং আপনি ক্রোনটির উপর নির্ভর করতে না চান তবে এটি কার্যকর হতে পারে।

গুরুত্বপূর্ণ: উপরোক্ত পদ্ধতিগুলি ব্যবহার করার সময়, পরবর্তী ক্রিয়াকলাপের আগে, চলমান শেষ করার জন্য আপনার কমান্ডের পর্যাপ্ত সময় দেওয়ার জন্য আপনার যথেষ্ট সময়সীমা স্থির করার পরামর্শ দেওয়া হয়।

উপসংহার

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

  1. সিস্টেম পুনরায় বুট করার পরেও আপনার সময় সময়মতো কমান্ড চালানোর প্রয়োজন হলে ক্রোন ব্যবহার করুন
  2. প্রোগ্রাম/স্ক্রিপ্টগুলির জন্য এই টিউটোরিয়ালে বর্ণিত পদ্ধতিগুলি ব্যবহার করুন যা বর্তমান ব্যবহারকারীর সেশনের মধ্যে চালানো meant

যথারীতি যদি আপনার কোনও প্রশ্ন বা মন্তব্য থাকে তবে নীচের মন্তব্য বিভাগে সেগুলি জমা দিতে দ্বিধা করবেন না।