Ansible এ copy মডিউল ব্যবহার করে আপনি লোকাল মেশিন (যেখান থেকে প্লেবুক রান করা হচ্ছে) থেকে একটি ফাইল বা ডিরেক্টরি রিমোট হোস্টে কপি করতে পারেন। এটি একটি সাধারণ এবং সহজ মডিউল যা ফাইল কনফিগারেশন, স্ক্রিপ্ট ডিপ্লয়মেন্ট, বা নির্দিষ্ট টেমপ্লেট কপি করার জন্য ব্যবহৃত হয়।
copy মডিউলের সাধারণ ব্যবহার
copy মডিউল ব্যবহার করার জন্য, আপনি src এবং dest নামের দুটি প্যারামিটার ব্যবহার করেন:
- src: সোর্স ফাইল বা ডিরেক্টরি যা লোকাল মেশিন থেকে কপি করা হবে।
- dest: ডেস্টিনেশন পাথ যেখানে রিমোট হোস্টে ফাইল বা ডিরেক্টরি কপি করা হবে।
copy মডিউলের উদাহরণ
---
- name: Copy a file to remote hosts
hosts: all
become: yes
tasks:
- name: Copy the Apache config file
copy:
src: /local/path/to/apache.conf
dest: /etc/apache2/apache2.conf
owner: root
group: root
mode: '0644'
উপরের প্লেবুকে copy মডিউল ব্যবহার করা হয়েছে /local/path/to/apache.conf ফাইলটি /etc/apache2/apache2.conf পাথে রিমোট হোস্টে কপি করার জন্য। এখানে:
- src: সোর্স ফাইল যা লোকাল মেশিন থেকে কপি করা হবে।
- dest: ডেস্টিনেশন পাথ যেখানে ফাইলটি রিমোট হোস্টে কপি হবে।
- owner: ফাইলের মালিকানা সেট করা হয়েছে
root। - group: ফাইলের গ্রুপ সেট করা হয়েছে
root। - mode: ফাইল পারমিশন সেট করা হয়েছে
'0644'।
copy মডিউলের অন্যান্য গুরুত্বপূর্ণ প্যারামিটার
- backup: যদি
yesকরা হয়, তাহলে Ansible ডেস্টিনেশন ফাইলের একটি ব্যাকআপ কপি রাখবে যদি ফাইলটি আগে থেকেই থাকে। উদাহরণ:
copy:
src: /path/to/file
dest: /destination/path
backup: yes
- force: ডিফল্টভাবে
yes, যার মানে Ansible সোর্স ফাইলের সাথে মিলিয়ে ডেস্টিনেশন ফাইল পরিবর্তন করবে। যদি আপনি ফোর্স করা বন্ধ করতে চান, তাহলেforce: noব্যবহার করতে পারেন। - remote_src: যদি আপনি রিমোট হোস্টের একটি ফাইল অন্য পাথে কপি করতে চান, তাহলে
remote_src: yesব্যবহার করতে হবে।
copy:
src: /path/on/remote/host/file.txt
dest: /another/path/on/remote/host/file.txt
remote_src: yes
উদাহরণ ১: ফোল্ডার কপি করা
- name: Copy a directory recursively
copy:
src: /local/path/to/directory/
dest: /remote/path/to/directory/
mode: '0755'
এখানে src ফোল্ডারটি dest ফোল্ডারে কপি করা হবে রিমোট হোস্টে। এটি রিকার্সিভলি (অর্থাৎ সাব-ডিরেক্টরি এবং ফাইল সহ) কপি করা হবে।
উদাহরণ ২: ব্যাকআপ সহ ফাইল কপি করা
- name: Backup and copy a file
copy:
src: /path/to/file.txt
dest: /etc/config/file.txt
backup: yes
এখানে, ফাইলটি কপি করার আগে যদি /etc/config/file.txt ফাইলটি থাকে, তাহলে তার একটি ব্যাকআপ তৈরি করা হবে।
সংক্ষেপে
Ansible এ copy মডিউলটি একটি সহজ কিন্তু শক্তিশালী টুল যা লোকার ফাইল বা ডিরেক্টরি রিমোট হোস্টে কপি করার জন্য ব্যবহৃত হয়। এটি বিভিন্ন প্যারামিটার এবং অপশন সহ ব্যবহার করা যায়, যেমন: মালিকানা, পারমিশন, ব্যাকআপ এবং রিমোট সোর্স কপি। এই মডিউল ব্যবহার করে আপনি সহজেই আপনার কনফিগারেশন ফাইল, স্ক্রিপ্ট বা অন্যান্য টেমপ্লেট ফাইল ডিপ্লয় করতে পারেন।