SCP ব্যবহার করে দূরবর্তী থেকে স্থানীয় ফোল্ডার এবং ফাইল অনুলিপি করা

SCP ব্যবহার করে দূরবর্তী থেকে স্থানীয় ফোল্ডার এবং ফাইল অনুলিপি করা
Shell

SCP এর সাথে ফাইল স্থানান্তর: একটি দ্রুত নির্দেশিকা

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

এই নির্দেশিকায়, আমরা নামক দূরবর্তী ফোল্ডারটি অনুলিপি করতে কীভাবে SCP ব্যবহার করতে হয় তা অন্বেষণ করব foo আপনার স্থানীয় মেশিনে, বিশেষ করে /হোম/ব্যবহারকারী/ডেস্কটপ. এই টিউটোরিয়ালটি SSH এবং টার্মিনাল কমান্ডগুলির একটি প্রাথমিক বোঝার অনুমান করে।

আদেশ বর্ণনা
scp -r দূরবর্তী হোস্ট থেকে একটি স্থানীয় মেশিনে পুনরাবৃত্তভাবে একটি ডিরেক্টরি এবং এর বিষয়বস্তু নিরাপদে অনুলিপি করে।
paramiko.SSHClient() SSH অপারেশন সহজতর করার জন্য Python-এ একটি SSH ক্লায়েন্ট উদাহরণ তৈরি করে।
scp.get() দূরবর্তী হোস্ট থেকে স্থানীয় পাথে ফাইল বা ডিরেক্টরি পুনরুদ্ধার করতে পাইথনে SCP ক্লায়েন্ট ব্যবহার করে।
ansible.builtin.fetch রিমোট মেশিন থেকে স্থানীয় মেশিনে ফাইল আনার জন্য উত্তরযোগ্য মডিউল।
flat: no অনুলিপি করার সময় ডিরেক্টরি কাঠামো বজায় রাখার জন্য উত্তরযোগ্য ফেচ মডিউলে বিকল্প।
validate_checksum: yes তাদের চেকসামগুলি যাচাই করে অনুলিপি করা ফাইলগুলির অখণ্ডতা নিশ্চিত করে৷

ফাইল স্থানান্তরের জন্য SCP বোঝা

প্রদত্ত শেল স্ক্রিপ্ট প্রদর্শন করে কিভাবে ব্যবহার করতে হয় scp একটি দূরবর্তী সার্ভার থেকে একটি স্থানীয় মেশিনে একটি ফোল্ডার অনুলিপি করতে। প্রথমত, এটি দূরবর্তী ব্যবহারকারীর নাম, হোস্ট এবং ডিরেক্টরির পাশাপাশি স্থানীয় ডিরেক্টরির জন্য ভেরিয়েবলকে সংজ্ঞায়িত করে। তারপর স্ক্রিপ্টটি কার্যকর করে scp -r কমান্ড, যা "নিরাপদ কপি" এর জন্য দাঁড়ায় এবং ডিরেক্টরিগুলির পুনরাবৃত্তিমূলক অনুলিপি করার অনুমতি দেয়। বাক্য গঠন ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR} উৎস পথ নির্দিষ্ট করে, যখন ${LOCAL_DIR} স্থানীয় মেশিনে গন্তব্য পথ নির্দিষ্ট করে। একটি সাফল্যের বার্তা প্রতিধ্বনিত করে স্ক্রিপ্টটি শেষ হয়।

পাইথন স্ক্রিপ্ট একই লক্ষ্য অর্জন করে কিন্তু ব্যবহার করে paramiko SSH সংযোগগুলি পরিচালনা করার জন্য লাইব্রেরি এবং scp লাইব্রেরি সুরক্ষিত কপি সম্পাদন করতে। প্রয়োজনীয় লাইব্রেরি আমদানি করার পরে, এটি দূরবর্তী এবং স্থানীয় ডিরেক্টরিগুলির জন্য ভেরিয়েবল সেট করে। স্ক্রিপ্ট ব্যবহার করে একটি SSH ক্লায়েন্ট উদাহরণ তৈরি করে paramiko.SSHClient() এবং এর সাথে রিমোট সার্ভারের সাথে সংযোগ করে connect পদ্ধতি এটি তারপর একটি SCP ক্লায়েন্ট উদাহরণ তৈরি করে SCPClient(ssh.get_transport()) এবং ব্যবহার করে scp.get স্থানীয় মেশিনে দূরবর্তী ডিরেক্টরি অনুলিপি করার পদ্ধতি। অবশেষে, স্ক্রিপ্টটি SCP ক্লায়েন্টকে বন্ধ করে দেয়।

স্বয়ংক্রিয় ফাইল স্থানান্তর উত্তরযোগ্য

উত্তরীয় প্লেবুক হল দূরবর্তী সার্ভার থেকে স্থানীয় মেশিনে ফাইল কপি করার আরেকটি পদ্ধতি। কাজ সংজ্ঞায়িত করার জন্য Ansible একটি YAML-ভিত্তিক কনফিগারেশন ব্যবহার করে। প্লেবুক টাস্কের নামকরণ এবং হোস্টগুলি নির্দিষ্ট করে শুরু হয়, যা এই ক্ষেত্রে স্থানীয় হোস্ট। এটি তারপর ব্যবহার করে একটি দূরবর্তী ফোল্ডার আনার জন্য একটি টাস্ক সংজ্ঞায়িত করে ansible.builtin.fetch মডিউল দ্য src বৈশিষ্ট্য দূরবর্তী ডিরেক্টরি নির্দিষ্ট করে, যখন dest বৈশিষ্ট্য স্থানীয় গন্তব্য নির্দিষ্ট করে। দ্য flat: no বিকল্পটি নিশ্চিত করে যে কপি করার সময় ডিরেক্টরির কাঠামো বজায় রাখা হয়েছে।

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

দূরবর্তী থেকে স্থানীয় ফাইল স্থানান্তর করতে SCP ব্যবহার করে

SCP ফাইল স্থানান্তরের জন্য শেল স্ক্রিপ্ট

# Copying a remote folder to local directory using SCP
#!/bin/bash
# Define variables
REMOTE_USER="your_username"
REMOTE_HOST="your_server_address"
REMOTE_DIR="/path/to/remote/folder"
LOCAL_DIR="/home/user/Desktop"
# Execute SCP command
scp -r ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR} ${LOCAL_DIR}
echo "Folder copied successfully to ${LOCAL_DIR}"

পাইথনের সাথে SCP ফাইল স্থানান্তর স্বয়ংক্রিয় করা

স্বয়ংক্রিয় SCP স্থানান্তরের জন্য পাইথন স্ক্রিপ্ট

import paramiko
from scp import SCPClient
# Define variables
remote_user = "your_username"
remote_host = "your_server_address"
remote_dir = "/path/to/remote/folder"
local_dir = "/home/user/Desktop"
# Create SSH client and connect
ssh = paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.connect(remote_host, username=remote_user)
# Create SCP client and transfer files
scp = SCPClient(ssh.get_transport())
scp.get(remote_dir, local_dir, recursive=True)
scp.close()

SCP ফাইল স্থানান্তর পরিচালনা করার জন্য Ansible ব্যবহার করা

SCP ফাইল স্থানান্তরের জন্য উত্তরযোগ্য প্লেবুক

--- 
- name: Copy folder from remote to local
  hosts: localhost
  tasks:
    - name: Copy remote folder to local directory
      ansible.builtin.fetch:
        src: "/path/to/remote/folder"
        dest: "/home/user/Desktop"
        flat: no
        fail_on_missing: yes
        validate_checksum: yes

উন্নত SCP কৌশল এবং বিবেচনা

মৌলিক ফাইল স্থানান্তর ছাড়াও, SCP বেশ কিছু উন্নত বৈশিষ্ট্য এবং বিকল্প অফার করে যা আরও জটিল কাজের জন্য অমূল্য হতে পারে। এরকম একটি বৈশিষ্ট্য হল একাধিক ফাইল বা ডিরেক্টরি নির্দিষ্ট করতে ওয়াইল্ডকার্ড অক্ষর ব্যবহার করার ক্ষমতা। উদাহরণস্বরূপ, ব্যবহার করে scp user@remote_host:/path/to/files/*.txt /local/path/ দূরবর্তী ডিরেক্টরি থেকে স্থানীয় ডিরেক্টরিতে সমস্ত .txt ফাইল অনুলিপি করবে। এটি অনেক ফাইলের সাথে কাজ করার সময় সময় বাঁচাতে এবং কর্মপ্রবাহকে স্ট্রীমলাইন করতে পারে।

আরেকটি দরকারী বৈশিষ্ট্য হল -P বিকল্প, যা আপনাকে SCP সংযোগের জন্য একটি পোর্ট নম্বর নির্দিষ্ট করতে দেয়। এটি বিশেষভাবে কার্যকর যদি আপনার SSH পরিষেবা একটি অ-মানক পোর্টে চলে। উদাহরণস্বরূপ, ব্যবহার করে scp -P 2222 user@remote_host:/path/to/file /local/path/ পোর্ট 2222 এর রিমোট হোস্টের সাথে সংযোগ করবে। অতিরিক্তভাবে, -C বিকল্পটি স্থানান্তরের সময় ডেটা সংকুচিত করতে ব্যবহার করা যেতে পারে, যা বড় ফাইলগুলির স্থানান্তর সময় উল্লেখযোগ্যভাবে হ্রাস করতে পারে। এটি যোগ করে অর্জন করা হয় -C SCP কমান্ডে, যেমন in scp -C user@remote_host:/path/to/largefile /local/path/.

SCP ফাইল স্থানান্তর সম্পর্কে সাধারণ প্রশ্ন

  1. আমি কিভাবে SCP ব্যবহার করে একটি সম্পূর্ণ ডিরেক্টরি অনুলিপি করব?
  2. কমান্ড ব্যবহার করুন scp -r user@remote_host:/path/to/remote/dir /local/path/ পুনরাবৃত্তিমূলকভাবে একটি ডিরেক্টরি অনুলিপি করতে।
  3. আমি কি SCP ব্যবহার করে একটি নির্দিষ্ট পোর্ট থেকে ফাইল কপি করতে পারি?
  4. হ্যাঁ, আপনি এর সাথে পোর্ট উল্লেখ করতে পারেন scp -P port_number user@remote_host:/path/to/file /local/path/.
  5. আমি কিভাবে SCP ব্যবহার করে একাধিক ফাইল কপি করতে পারি?
  6. ওয়াইল্ডকার্ড অক্ষর ব্যবহার করুন scp user@remote_host:/path/to/files/*.txt /local/path/ একাধিক ফাইল কপি করতে।
  7. SCP স্থানান্তরের সময় ফাইলগুলি সংকুচিত করা কি সম্ভব?
  8. হ্যাঁ, যোগ করুন -C আপনার SCP কমান্ডের বিকল্প, যেমন scp -C user@remote_host:/path/to/file /local/path/.
  9. আমি কিভাবে SCP এর সাথে বড় ফাইল স্থানান্তর পরিচালনা করব?
  10. ব্যবহার -C ফাইল কম্প্রেস করার বিকল্প, এবং বাধা প্রতিরোধ করার জন্য একটি স্থিতিশীল সংযোগ নিশ্চিত করুন।
  11. SCP কি স্ক্রিপ্ট দিয়ে স্বয়ংক্রিয় হতে পারে?
  12. হ্যাঁ, আপনি SCP ফাইল স্থানান্তর স্বয়ংক্রিয় করতে শেল স্ক্রিপ্ট, পাইথন স্ক্রিপ্ট, বা উত্তরযোগ্য প্লেবুক ব্যবহার করতে পারেন।
  13. একটি SCP স্থানান্তর ব্যর্থ হলে আমার কি করা উচিত?
  14. নেটওয়ার্ক সংযোগ পরীক্ষা করুন, সঠিক পথ এবং অনুমতি নিশ্চিত করুন এবং SSH কনফিগারেশন যাচাই করুন।
  15. SCP কি বিঘ্নিত স্থানান্তর পুনরায় শুরু করতে পারে?
  16. না, SCP আবার ট্রান্সফার করা সমর্থন করে না। পুনর্সূচনাযোগ্য স্থানান্তরের জন্য rsync ব্যবহার করার কথা বিবেচনা করুন।
  17. SCP স্থানান্তরের সময় আমি কীভাবে ফাইলের অখণ্ডতা নিশ্চিত করতে পারি?
  18. ব্যবহার validate_checksum উত্তরযোগ্য বিকল্পে অথবা স্থানান্তরের পরে ম্যানুয়ালি চেকসাম যাচাই করুন।

এসসিপি স্থানান্তরের বিষয়ে চূড়ান্ত চিন্তাভাবনা:

দূরবর্তী এবং স্থানীয় মেশিনের মধ্যে ফাইল স্থানান্তরের জন্য SCP ব্যবহারে দক্ষতা অর্জন দক্ষ সার্ভার পরিচালনার জন্য একটি অপরিহার্য দক্ষতা। শেল স্ক্রিপ্ট, পাইথন স্ক্রিপ্ট এবং উত্তরযোগ্য প্লেবুকগুলি ব্যবহার করে, আপনি এই কাজগুলিকে স্বয়ংক্রিয় এবং সহজ করতে পারেন, সময় বাঁচাতে এবং ত্রুটিগুলি হ্রাস করতে পারেন। পুনরাবৃত্ত অনুলিপি, পোর্ট স্পেসিফিকেশন, এবং ডেটা কম্প্রেশনের মতো উন্নত বিকল্পগুলি SCP-এর বহুমুখিতাকে আরও উন্নত করে। দৈনন্দিন ক্রিয়াকলাপ বা বড় আকারের ডেটা স্থানান্তরের জন্যই হোক না কেন, এই কৌশলগুলি বোঝা নিরাপদ এবং নির্ভরযোগ্য ফাইল স্থানান্তর নিশ্চিত করে৷