সিস্টেম অ্যাডমিনিস্ট্রেশন টাস্কগুলির জন্য উত্তরীয় মডিউলগুলি কীভাবে ব্যবহার করবেন - পার্ট 6
অতীতের বিষয়গুলির কয়েকটি উত্তরযোগ্য মডিউলগুলির এই অংশ 6 এ, আমরা এখন আরও গভীরতর হতে যাব এবং অতিরিক্ত মডিউলগুলি আবিষ্কার করব যা বেশ কয়েকটি সিস্টেম প্রশাসনের কাজ সম্পাদনে সহায়ক।
আপনি প্রতিটি মডিউলটির প্রাথমিক ধারণা পাবেন এবং নির্দিষ্ট কিছু কার্য সম্পাদনের জন্য উপলব্ধ বিকল্পগুলি দেখুন।
- জবাবদিহি করা সফ্টওয়্যার প্যাকেজ এবং সংগ্রহস্থল পরিচালনা করা
- জবাবদিহি ব্যবহার করে পরিষেবা পরিচালনা করা
- জবাবদিহি দিয়ে ফায়ারওয়াল পরিচালনা করা
- জবাবযুক্ত ফাইল বা ফোল্ডার সংরক্ষণাগার
- জবাবদিহির সাথে কার্যগুলি শিডিউল করুন
- ব্যবহারকারী এবং গোষ্ঠীগুলি উত্তরযুক্ত সহ পরিচালনা করুন
- জবাবযুক্ত ফাইল এবং ডিরেক্টরি তৈরি করুন
- উত্তর সহ স্টোরেজ পরিচালনা করা li
- উত্তরযোগ্য ফাইল সিস্টেমগুলি পরিচালনা করা
লিনাক্স সিস্টেমে প্যাকেজ ইনস্টল করার সময় বিভিন্ন প্যাকেজ ম্যানেজারের সাথে বিভিন্ন বিতরণ আসে। রেডহ্যাট বিতরণের জন্য, আমাদের উপযুক্ত আছে।
জবাব প্যাকেজ নামে একটি মডিউল নিয়ে আসে, যা বিভিন্ন সিস্টেমের জন্য বিভিন্ন প্যাকেজ পরিচালক ব্যবহারের প্রয়োজনীয়তা দূর করে। এটি স্বয়ংক্রিয়ভাবে হোস্ট সিস্টেমের সংশ্লিষ্ট প্যাকেজ ম্যানেজার ব্যবহার করে, যার ফলে কাজ আরও সহজ হয়।
উদাহরণস্বরূপ, ডেবিয়ান এবং রেডহ্যাট ডিস্ট্রো উভয় সমন্বিত হোস্টের একটি গ্রুপে এইচটিপ ইনস্টল করতে নীচে ইনস্টল_হোপ.মিল প্লেবুকে প্রদর্শিত প্যাকেজ মডিউলটি ব্যবহার করুন।
--- - name: Install htop on Ubuntu and CentOS hosts: all tasks: - package: name: htop state: installed
দ্রষ্টব্য: প্যাকেজের নামগুলি একটি অপারেটিং সিস্টেম থেকে অন্য অপারেটিং সিস্টেম থেকে পৃথক হতে পারে। উদাহরণস্বরূপ, আমরা রেডহ্যাট ডিস্ট্রিবিউশনে এবং ডেবিয়ান/উবুন্টু সিস্টেমগুলির জন্য অ্যাপাচি 2 তে httpd রেখেছি যা সমস্তই অ্যাপাচি ওয়েবসারভারকে বোঝায়। সুতরাং, এই প্যাকেজগুলি পাস করার সময় অতিরিক্ত সতর্কতা অবলম্বন করা উচিত। সাধারণত, পরিবর্তনশীল বা শর্তাধীন বিবৃতি ব্যবহার করা ভাল।
এর পরে, আমাদের একটি পরিষেবা মডিউল রয়েছে, যা লিনাক্স সিস্টেমগুলিতে পরিষেবা পরিচালনার জন্য ব্যবহৃত হয়। এটি কোনও পরিষেবা শুরু করতে, থামাতে বা পুনরায় চালু করতে ব্যবহৃত হয়। আপনি কোনও পরিষেবা সক্ষম করতে এটি ব্যবহার করতে পারেন যাতে কোনও সিস্টেম বুট হলে এটি স্বয়ংক্রিয়ভাবে পরিষেবাটি শুরু করে।
উদাহরণস্বরূপ, আরএইচইএল 8 এ অ্যাপাচি ওয়েবসার্ভার শুরু এবং সক্ষম করতে, দেখানো হিসাবে পরিষেবাটি ব্যবহার করুন।
--- - name: Start and enable httpd service hosts: webservers tasks: - service: name: httpd state: started enabled: yes
Httpd পরিষেবা বন্ধ করতে, থামানো বৈশিষ্ট্যটি পাস করুন।
--- - name: Stop httpd service hosts: webservers tasks: - service: name: httpd state: stopped
Httpd পরিষেবাটি পুনঃসূচনা করতে পুনরায় আরম্ভ করা বৈশিষ্ট্যটি পাস করুন।
--- - name: Restart httpd service hosts: webservers tasks: - service: name: httpd state: restarted
ফায়ারওয়ালের পরিচালনা হ'ল আরও একটি গুরুত্বপূর্ণ টাস্ক সিস্টেম প্রশাসকরা। উত্তরীয় প্লেবুকগুলিতে ফায়ারওয়াল্ড এবং ইউএফডাব্লিউ মডিউলগুলির সাহায্যে এটি আরও সহজ করা হয়েছে। আপনি কোনও বন্দর বা পরিষেবা বা এমনকি কোনও উত্সের ঠিকানা অনুমোদিত বা অবরুদ্ধ করতে ফায়ারওয়ালটি কনফিগার করতে পারেন।
আসুন ঝাঁপিয়ে পড়ে কিছু উদাহরণ দেখুন:
--- - name: Allow port 80 hosts: webservers tasks: -firewalld: port: 80/tcp permanent: yes state: enabled
উপরের প্লেবুকে, 80 বন্দরটি ফায়ারওয়াল জুড়ে অনুমোদিত।
স্থায়ী বিকল্প: হ্যাঁ ফায়ারওয়াল বিধি কার্যকর করে এবং এটি পুনরায় বুটগুলিতে স্থির করে তোলে। তবে এই নিয়মটি তাত্ক্ষণিকভাবে প্রযোজ্য নয়। এটি কেবল পুনরায় বুট করার পরে কার্যকর হয়। নিয়মটি অবিলম্বে প্রয়োগ করতে,
অবিলম্বে: হ্যাঁ
বিকল্পটি ব্যবহার করুন।
অনুমোদিত ঠিকানাগুলি নির্দিষ্ট করতে, উত্সটি ব্যবহার করুন: 0.0.0.0/0 বিবৃতি।
- firewalld: source: 192.168.0.0/24 zone: public state: enabled
নীচে বন্দর বিকল্পটি ব্যবহারের জন্য মঞ্জুর করার জন্য পোর্টের একটি ব্যাপ্তি নির্দিষ্ট করতে:
- firewalld: port: 213-567/udp permanent: yes state: enabled
পোর্টটিকে অবরুদ্ধ করতে রাষ্ট্রের বিকল্পটি প্রদর্শিত হিসাবে অক্ষম করুন:
-firewalld: port: 80/tcp permanent: yes state: disabled
কোনও পোর্ট যুক্ত করা/ব্লক করা ছাড়াও আপনি কোনও পরিষেবাতে একই বিধি প্রয়োগ করতে পারেন। এবং এটি বেশ সহজ। কেবল পরিষেবা মডিউলটি ব্যবহার করুন এবং পরিষেবা যুক্ত করার জন্য সংযোজন করুন এবং নিশ্চিত করুন যে রাষ্ট্রীয় বিকল্পটি সক্ষম করা আছে।
- firewalld: service: https permanent: true state: enabled
পরিষেবাটি অবরুদ্ধ করতে রাষ্ট্রের বিকল্পটি অক্ষম করুন।
- firewalld: service: https permanent: true state: disabled
সংরক্ষণাগার বলতে কোনও ফাইল বা ফোল্ডারের সংযোগকে এমন বিন্যাসে বোঝায় যা সহজে বহনযোগ্য এবং আকারে ছোট। সংরক্ষণাগার নামক একটি মডিউল সহ উত্তরযোগ্য জাহাজ। কোনও ফাইলকে সংকুচিত করা যতটা সহজ is যা যা প্রয়োজন তা হ'ল ফাইলের উত্স পথ এবং সংকুচিত ফাইলের গন্তব্য নির্দিষ্ট করা।
নীচে একটি প্লেবুক কম্প্রেস.আইএমএল বিবেচনা করুন।
--- - hosts: webservers tasks: • name: Compress a folder archive: path: /opt/data/web dest: /tmp/web.gz
উপরের প্লেবুকটি/অপ্ট/ডেটা/ওয়েব ডিরেক্টরিকে সংকুচিত করে এবং এটি /tmp/web.gz এ সংরক্ষণ করে।
ডিফল্ট সংকোচনের বিন্যাসটি .gz
, তবে এটি বিন্যাসের বৈশিষ্ট্যটি ব্যবহার করে নির্দিষ্ট করা যেতে পারে। পরবর্তী প্লেবুকের নমুনা করুন।
--- - hosts: webservers Tasks: - name: Create a zip archive archive: path: /opt/data/web dest: /tmp/web format: zip
উপরের প্লেবুকটি/অপ্ট/ডেটা/ওয়েব ডিরেক্টরিকে /tmp/web.zip এ সঙ্কলন করে।
আপনি আনর্কাইভ অ্যাট্রিবিউট ব্যবহার করে একটি সংকুচিত ফাইলও সঙ্কুচিত করতে পারেন। নীচের প্লেবুকটি বিবেচনা করুন।
--- - hosts: webservers tasks: - name:Uncompress /tmp/web.gz to/opt directory on Ansible controller unarchive: src: /tmp/web.bz2 dest: /opt/
উপরের প্লেবুকটি উত্তর কন্ট্রোলারে/অপ্ট করার জন্য /opt/data/web.gz ফাইলটি সঙ্কুচিত করে।
রিমোট সোর্স সিস্টেমটি নির্দিষ্ট করতে রিমোট_এসসিআর = হ্যাঁ
বিকল্পটি ব্যবহার করুন।
--- - hosts: webservers tasks: - name:Uncompress /tmp/web.bz2 to/opt on remote host unarchive: src: /tmp/web.bz2 dest: /opt/ remote_src=yes
উপরের প্লেবুকটি/opt/ডিরেক্টরিতে রিমোট নোডের /tmp/web.bz2 ফাইলটি সঙ্কুচিত করে।
ক্রোন মডিউলটি উত্তরযোগ্য প্লেবুকগুলিতে কাজের সময় নির্ধারণে সহায়তা করে।
নীচের প্লেবুকটি বিবেচনা করুন।
--- - hosts: webservers tasks: - name: Create a scheduled task cron: name: Run employee attendance job: sh /opt/scripts/attendace.sh month: 4 day: 5 hour: 17 minute: 00
প্লেবুকটি উপস্থিতি স্ক্রিপ্টটি 5 এপ্রিল সন্ধ্যা :00 টা ৫০ মিনিটে চালায়।
আপনি যদি এই স্ক্রিপ্টটি চালাতে শিডিউল করতে চান তবে 5 ই এপ্রিল সোমবার হয়, তবে সপ্তাহের দিন: 1 টি বৈশিষ্ট্যটি ব্যবহার করুন। 0 ক্রোন নোটেশন অনুসারে রবিবার এবং 6 টি শনিবারকে বোঝায়।
month: 4 day: 5 hour: 17 minute: 00 weekday: 1
এই ক্ষেত্রগুলির যে কোনও একটি নক্ষত্র (*) কোনও মান নির্দেশ করে।
5 ই এপ্রিল বিকাল ৫ টা ৪৫ মিনিটে কাজটি চালানোর জন্য, সপ্তাহের দিনটি যাই হোক না কেন, সময় পরামিতিগুলি প্রদর্শিত হিসাবে ব্যবহার করুন।
month: 4 day: 5 hour: 17 minute: 00 weekday: *
প্রতিটি মাসের 5 তম দিনে বিকেল 5 টা বাজে ক্রোন জবটি কার্যকর করতে নীচের সেটিংসটি ব্যবহার করুন।
month: * day: 5 hour: 17 minute: 00 weekday: *
প্রতিদিন বিকেল ৫ টা ৪০ মিনিটে ক্রোন জবটি কার্যকর করতে সময় মতো সেটিংস প্রদর্শিত হয়েছে:
month: * day: * hour: 17 minute: 00 weekday: *
প্রতি 5 ঘন্টা অন্তর ক্রোন কাজটি চালানোর জন্য, দেখানো হিসাবে ধাপের মানটি */5
ব্যবহার করুন।
month: * day: * hour: */5 minute: * weekday: *
আপনি বেশ সহজেই অনায়াসে প্লেবুকের ভিতরে ব্যবহারকারী এবং গোষ্ঠীগুলি পরিচালনা করতে পারেন।
নতুন ব্যবহারকারী তৈরি করতে, দেখানো হয়েছে এমনভাবে ব্যবহারকারী মডিউলটি ব্যবহার করুন।
--- - hosts: webservers tasks: - name: Create a new user user: name: Jack
আপনি অতিরিক্ত বিকল্পগুলি যেমন ইউআইডি, গোষ্ঠীগুলি যুক্ত করতে পারেন।
- name: Create a new user user: name: Jack comment: Jack Peters uid: 1002 group: administrators shell: /bin/bash
ব্যবহারকারীকে সরাতে, অপসারণ: হ্যাঁ বিবরণ ব্যবহার করুন।
- name: Remove the user 'Jack' user: name: Jack state: absent remove: yes
একটি নতুন গোষ্ঠী তৈরি করতে, গ্রুপ মডিউলটি ব্যবহার করুন।
- name: Create a group group: name: developers
ডিরেক্টরিগুলির ফাইল তৈরি করতে ফাইল মডিউলটি ব্যবহার করুন।
উদাহরণস্বরূপ, একটি নতুন ডিরেক্টরি তৈরি করা।
--- - hosts: webservers tasks: - name: Create a new directory file: path: /opt/app state: directory
আপনি অন্যান্য বৈশিষ্ট্য যেমন মালিক, গোষ্ঠী এবং ফাইল অনুমতিগুলি যুক্ত করতে পারেন।
- hosts: webservers tasks: - name: Create a new directory file: path: /opt/web state: directory owner: www-data group: www-data mode: 0644
অতিরিক্ত হিসাবে, আপনি পুনরাবৃত্তি: হ্যাঁ বিবৃতি ব্যবহার করে পুনরাবৃত্তভাবে ডিরেক্টরিগুলি তৈরি করতে পারেন।
--- - hosts: webservers tasks: - name: Create directories recursively file: path: /opt/web/app state: directory owner: www-data group: www-data mode: 0644 recurse: yes
একটি ফাইল তৈরি করতে, রাষ্ট্র: টাচ
বিকল্পটি ব্যবহার করুন।
--- - hosts: webservers tasks: - name: Create a new file file: path: /opt/web/index.html state: touch owner: www-data group: www-data mode: 0644
Lvg মডিউলটি LVM ভলিউম এবং গ্রুপগুলি কনফিগার করতে ব্যবহৃত হয়।
নীচের প্লেবুকটি বিবেচনা করুন:
--- - hosts: webservers tasks: • name: Create lVM volume group lvg: vg: vg1 pvs: /dev/sda1 pesize: 32
এটি 32 মেগাবাইটের দৈহিক পরিমাণের আকারের সাথে /dev/sda1
পার্টিশনের শীর্ষে একটি ভলিউম গ্রুপ তৈরি করে।
একবার তৈরি হয়ে গেলে lvol মডিউলটি প্রদর্শিত হিসাবে লজিকাল ভলিউম তৈরি করতে ব্যবহার করুন
--- - hosts: webservers tasks: - name: Create lVM volume lvol: vg: vg1 lv: lvol1 pvs: /dev/sda1
একটি ব্লক ডিভাইসে একটি ফাইল সিস্টেম তৈরি করতে, ফাইল সিস্টেম মডিউলটি ব্যবহার করুন।
নীচের প্লেবুক ব্লক ভলিউমে ফাইল সিস্টেম প্রকারের xfs তৈরি করে।
--- - hosts: webservers tasks: - name: Create a filesystem filesystem: fstype: xfs dev: /dev/vg1/lvol1
আপনি নীচের প্লেবুকের মতো মাউন্ট মডিউলটি ব্যবহার করে ব্লক ভলিউমটি মাউন্ট করতে এগিয়ে যেতে পারেন:
--- - hosts: webservers tasks: - name: Mount a filesystem mount: fstype: xfs src: /dev/vg1/lvol1 path: /opt/web state: mounted
এটি বিষয় শেষ করে। আমরা বিভিন্ন সিস্টেম প্রশাসনের কাজগুলি আবৃত করেছি যা উত্তরীয় প্লেবুকগুলিতে নির্দিষ্ট বিল্ট-ইন মডিউলগুলি দ্বারা সম্পন্ন করা যায়।