লিনাক্সে ব্যাশ স্ক্রিপ্টিং ব্যবহার করে টাস্ক অটোমেশনের সম্পূর্ণ নির্দেশিকা

সর্বশেষ আপডেট: 29 এর 2026 এর মে
  • ব্যাশ স্ক্রিপ্টের ব্যবহারের মাধ্যমে টেক্সট ফাইলে কমান্ডগুলোর ক্রমানুক্রমিক নির্বাহের দ্বারা সিস্টেম প্রশাসনকে অপ্টিমাইজ করা যায়।
  • Bash-এর বহুমুখীতার কারণে ব্যবহারকারী পরিচালনা, নির্ধারিত সময়ে ব্যাকআপ তৈরি এবং সিস্টেম রিসোর্স নিরীক্ষণ করা সহজ হয়।
  • শক্তিশালী অটোমেশন টুল তৈরির জন্য কন্ট্রোল স্ট্রাকচার, ভেরিয়েবল এবং এক্সিকিউশন পারমিশন প্রয়োগ করা অপরিহার্য।

টাস্ক অটোমেশন

ভাবুন তো, একজন সিস্টেম অ্যাডমিনিস্ট্রেটর হিসেবে আপনার দৈনন্দিন কাজ হলো কনসোলে একই কমান্ড বারবার পুনরাবৃত্তি করা, যেন আপনার পাশেই একটি ডিশওয়াশার থাকা সত্ত্বেও আপনাকে হাতে থালাবাসন ধুতে বাধ্য করা হয়েছে। প্রসেস অটোমেশন হলো ঠিক সেই টুল যা আমাদের ক্লান্তিকর কাজগুলো যন্ত্রের ওপর অর্পণ করার সুযোগ দেয়, যার ফলে মানুষের ভুল ব্যাপকভাবে কমে যায় এবং আরও সৃজনশীল বা জটিল কাজের জন্য সময় পাওয়া যায়।

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

ব্যাশ কী?
সম্পর্কিত নিবন্ধ:
ব্যাশ: এটি কী, এটি কীভাবে কাজ করে এবং এটি কীসের জন্য ব্যবহৃত হয়

ব্যাশ স্ক্রিপ্ট বলতে ঠিক কী বোঝায়?

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

ঐতিহাসিকভাবে, স্বয়ংক্রিয় করার এই ক্ষমতা ১৯৭০-এর দশক থেকেই ইউনিক্স সিস্টেমে বিদ্যমান ছিল, কিন্তু ১৯৮৯ সালে ব্যাশ (Bash)-এর আগমনের ফলে এই প্রক্রিয়াটি আরও সহজলভ্য হয়ে ওঠে। বর্তমানে, অধিকাংশ লিনাক্স ডিস্ট্রিবিউশন এই ইন্টারপ্রেটারটি ব্যবহার করে, যা নিশ্চিত করে যে বর্তমানে লেখা একটি স্ক্রিপ্ট বিভিন্ন পরিবেশের সাথে নমনীয় ও অভিযোজনযোগ্য ; এমনকি একটি সামঞ্জস্যপূর্ণ টার্মিনাল উপলব্ধ থাকলে এটি ম্যাক বা উইন্ডোজেও কাজ করে।

লুয়া বনাম ব্যাশ
সম্পর্কিত নিবন্ধ:
লুয়া বনাম ব্যাশ: ব্যবহারিক নির্দেশিকা, উদাহরণ এবং বাস্তব-বিশ্বের মানদণ্ড

আপনার প্রথম স্ক্রিপ্ট তৈরির মৌলিক নীতিমালা

প্রোগ্রামিং শুরু করার জন্য, প্রথম ধাপ হলো একটি প্লেইন টেক্সট ফাইল তৈরি করা। আপনি সাধারণ এডিটর ব্যবহার করতে পারেন, যেমন— ন্যানো, ভিম বা ইম্যাক্সফাইলের প্রথম লাইনটি যে নামে পরিচিত হবে, তা অপরিহার্য। শেবাং: #!/bin/bashএই লাইনটি সিস্টেমকে নির্দেশ দেয় যে, পরবর্তী কোডটি কার্যকর করার জন্য ব্যাশ ইন্টারপ্রেটার ব্যবহার করতে হবে।

  Arch এবং EndeavourOS-এ আপনার Hyprland ডেস্কটপ কাস্টমাইজ করার জন্য Dotfiles

একটি মূল ধারণা হলো ভেরিয়েবল হ্যান্ডলিং। ব্যাশে, আপনাকে ডেটা টাইপ ডিক্লেয়ার করতে হবে না; আপনি কেবল ইকুয়াল সাইন (equals sign) ব্যবহার করে একটি নাম এবং একটি মান অ্যাসাইন করেন, এবং এটি নিশ্চিত করেন যে ভেরিয়েবল এবং চিহ্নের মধ্যে কোনো ফাঁকা স্থান রাখবেন না।পরবর্তীতে সেই ডেটা পেতে বা পড়তে, এর আগে শুধু ডলার চিহ্ন ($) বসিয়ে দিন।$উদাহরণস্বরূপ, আপনি যদি একটি অভিবাদন ভেরিয়েবল নির্ধারণ করেন, তাহলে সিস্টেম সেই লেখাটি মনে রাখবে এবং প্রতিবার কল করার সময় তা প্রদর্শন করবে।

লিনাক্সে স্ক্রিপ্টিং

প্রবাহ নিয়ন্ত্রণ এবং ডেটা ইনপুট

একটি চিত্রনাট্যকে বুদ্ধিদীপ্ত হতে হলে সিদ্ধান্ত নিতে হয়। এখানেই... if-else এর মতো নিয়ন্ত্রণ কাঠামোযা নির্দিষ্ট শর্ত পূরণ হলেই কিছু নির্দিষ্ট কাজ সম্পাদন করার অনুমতি দেয়। একইভাবে, লুপ for y while ব্যবহারকারীর নামের অ্যারে বা সার্ভারের তালিকার মতো উপাদানের তালিকা অতিক্রম করার জন্য এগুলি অপরিহার্য, যা একটিমাত্র নির্দেশকে যতবার প্রয়োজন ততবার পুনরাবৃত্তি করার সুযোগ দেয়।

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

প্রোগ্রামিং ভাষার টিউটোরিয়াল
সম্পর্কিত নিবন্ধ:
প্রোগ্রামিং ভাষার টিউটোরিয়াল: শুরু করার এবং অগ্রগতির জন্য একটি সম্পূর্ণ নির্দেশিকা

অনুমতি ব্যবস্থাপনা এবং বাস্তবায়ন

নতুনদের মধ্যে একটি খুব সাধারণ ভুল হলো কোনো স্ক্রিপ্ট চালাতে গিয়ে দেখা যে, সিস্টেমটির তা করার অনুমতি নেই। এটি ঠিক করার জন্য, আমাদের এই কমান্ডটি ব্যবহার করতে হবে। chmod +x এরপরে ফাইলের নাম। এটি যোগ করে অনুমতি কার্যকরএর ফলে ফাইলটি একটি সাধারণ টেক্সট থেকে একটি এক্সিকিউটেবল প্রোগ্রামে পরিণত হতে পারে।

  লিনাক্সে ASUS ROG ল্যাপটপে অডিও সমস্যা কীভাবে সমাধান করবেন

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

অটোমেশনের জন্য প্রয়োজনীয় কমান্ড

ব্যাশের আসল শক্তি নিহিত রয়েছে অভ্যন্তরীণ ও বাহ্যিক কমান্ডের সমন্বয়ে। নেভিগেশন এবং ফাইল ব্যবস্থাপনার জন্য আমরা ক্লাসিক কমান্ডগুলোর ওপর নির্ভর করি, যেমন— cd, ls, cp y mvতবে, আসল জাদুটা তখনই ঘটে যখন আমরা টেক্সট ম্যানিপুলেশন টুল ব্যবহার করি, যেমন grep, awk, sed এবং cutযার মাধ্যমে আপনি লগ ফিল্টার করতে, কনফিগারেশন ফাইলে নির্দিষ্ট প্যাটার্ন খুঁজতে, অথবা ডেটাবেস থেকে সুনির্দিষ্ট ডেটা বের করতে পারবেন।

সিস্টেম ব্যবস্থাপনার ক্ষেত্রে, কমান্ড যেমন top, ps y systemctl প্রক্রিয়া ও পরিষেবা ব্যবস্থাপনার জন্য এগুলি অপরিহার্য। অটোমেশনকে পরবর্তী স্তরে নিয়ে যেতে চাইলে, আমরা নেটওয়ার্কের সাথে যোগাযোগ করতে পারি এর মাধ্যমে। ssh o scpউদাহরণস্বরূপ, আমাদেরকে দূরবর্তী সার্ভারে কমান্ড কার্যকর করার অনুমতি দেয় অথবা ব্যাকআপ স্থানান্তর করুন সম্পূর্ণ স্বয়ংক্রিয় পদ্ধতিতে একটি বাহ্যিক মেশিনে।

লিনাক্সে অটোমেশন
সম্পর্কিত নিবন্ধ:
লিনাক্সে অটোমেশন: cron এবং Bash থেকে Ansible এবং systemd পর্যন্ত

উন্নত অটোমেশনের বাস্তব উদাহরণ

সবচেয়ে ক্লান্তিকর কাজগুলোর মধ্যে একটি হলো বিপুল সংখ্যক অ্যাকাউন্ট তৈরি করা। এর পরিবর্তে ব্যবহার করা adduser আমরা একে একে এমন একটি স্ক্রিপ্ট তৈরি করতে পারি যা নামের একটি তালিকা গ্রহণ করে এবং ব্যবহার করে useradd একসাথে chpasswd জন্য একাধিক ব্যবহারকারী এবং গ্রুপ কনফিগার করুন একসাথে সব। নতুন টিমের জন্য কাজের পরিবেশ স্থাপন করার ক্ষেত্রে এটি বিশেষভাবে উপযোগী।

এর আরেকটি উৎকৃষ্ট উদাহরণ হলো ব্যাকআপ ম্যানেজমেন্ট। আমরা এমন একটি স্ক্রিপ্ট প্রোগ্রাম করতে পারি যা সংকুচিত ফাইল তৈরি করে, যার মাধ্যমে tar সমালোচনামূলক ডিরেক্টরি যেমন /etc o /homeতাদেরকে একটি স্বয়ংক্রিয় তারিখ নির্ধারণ করে একটি রিমোট সার্ভারে পাঠিয়ে দেয়। মানুষের হস্তক্ষেপ এড়ানোর জন্য নিম্নলিখিতটি ব্যবহার করা হয়: ক্রন টাস্ক শিডিউলারউদাহরণস্বরূপ, প্রতি রাতে ভোর ৩:০০ টায় ব্যাকআপটি চালানোর অনুমতি দেওয়া।

  লিনাক্সে ফাইলের নাম পরিবর্তন করার পদ্ধতি

অবশেষে, সম্পদ পর্যবেক্ষণ অত্যন্ত গুরুত্বপূর্ণ। সমন্বয়ের মাধ্যমে df -h y awkএমন একটি স্ক্রিপ্ট তৈরি করা সম্ভব যা ডিস্কের স্থান পর্যবেক্ষণ করবে এবং এর ব্যবহার একটি নির্দিষ্ট শতাংশ (যেমন ৯০%) অতিক্রম করলে, স্বয়ংক্রিয়ভাবে সতর্কতামূলক ইমেল পাঠান প্রশাসকের কাছে, যার ফলে স্টোরেজের অভাবে সিস্টেমটি ভেঙে পড়া প্রতিরোধ করা যায়।

এই টুলগুলো আয়ত্ত করলে সার্ভার অ্যাডমিনিস্ট্রেশন একটি ম্যানুয়াল ও ত্রুটিপূর্ণ কাজ থেকে একটি মসৃণ এবং পেশাদার প্রক্রিয়ায় রূপান্তরিত হয়। SSH-এর মাধ্যমে শত শত মেশিনে ব্যবহারকারী পরিচালনা করা থেকে শুরু করে হার্ডওয়্যারের স্বাস্থ্য ক্রমাগত পর্যবেক্ষণ করা পর্যন্ত, যেকোনো GNU/Linux পরিবেশে দক্ষতার ভিত্তি হলো ব্যাশ স্ক্রিপ্টিং ।

লিনাক্স সার্টিফিকেশন
সম্পর্কিত নিবন্ধ:
লিনাক্স সার্টিফিকেশন: কীভাবে একজন লিনাক্স বিশেষজ্ঞ হবেন