SCP ஐப் பயன்படுத்தி கோப்புறைகள் மற்றும் கோப்புகளை தொலைநிலையிலிருந்து உள்ளூர் வரை நகலெடுக்கிறது

SCP ஐப் பயன்படுத்தி கோப்புறைகள் மற்றும் கோப்புகளை தொலைநிலையிலிருந்து உள்ளூர் வரை நகலெடுக்கிறது
Shell

SCP உடன் கோப்புகளை மாற்றுதல்: ஒரு விரைவான வழிகாட்டி

பாதுகாப்பான நகல் நெறிமுறை (SCP) என்பது தொலைநிலை மற்றும் உள்ளூர் இயந்திரங்களுக்கு இடையே கோப்புகள் மற்றும் கோப்பகங்களை மாற்றுவதற்கான எளிதான கருவியாகும். உங்கள் சேவையகத்தை அணுக நீங்கள் அடிக்கடி SSH ஐப் பயன்படுத்தினால், உங்கள் தரவை நிர்வகிப்பதற்கு கோப்புறைகள் மற்றும் கோப்புகளை எவ்வாறு திறமையாக நகலெடுப்பது என்பதை அறிவது அவசியம்.

இந்த வழிகாட்டியில், பெயரிடப்பட்ட ரிமோட் கோப்புறையை நகலெடுக்க SCP ஐ எவ்வாறு பயன்படுத்துவது என்பதை ஆராய்வோம் foo உங்கள் உள்ளூர் இயந்திரத்திற்கு, குறிப்பாக /முகப்பு/பயனர்/டெஸ்க்டாப். இந்த டுடோரியல் SSH மற்றும் டெர்மினல் கட்டளைகள் பற்றிய அடிப்படை புரிதலை வழங்குகிறது.

கட்டளை விளக்கம்
scp -r ஒரு கோப்பகத்தையும் அதன் உள்ளடக்கங்களையும் தொலைநிலை ஹோஸ்டிலிருந்து உள்ளூர் இயந்திரத்திற்கு மீண்டும் மீண்டும் பாதுகாப்பாக நகலெடுக்கிறது.
paramiko.SSHClient() SSH செயல்பாடுகளை எளிதாக்க பைத்தானில் 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 கிளையண்டை மூடுகிறது.

அன்சிபிள் மூலம் கோப்பு இடமாற்றங்களை தானியக்கமாக்குகிறது

அன்சிபிள் பிளேபுக் என்பது ரிமோட் சர்வரில் இருந்து லோக்கல் மெஷினுக்கு கோப்புகளை நகலெடுப்பதற்கான மற்றொரு முறையாகும். பணிகளை வரையறுக்க அன்சிபிள் 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 கோப்பு இடமாற்றங்களை நிர்வகிக்க அன்சிபிளைப் பயன்படுத்துதல்

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 கட்டளைக்கு 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. எஸ்சிபியை ஸ்கிரிப்ட் மூலம் தானியக்கமாக்க முடியுமா?
  12. ஆம், நீங்கள் SCP கோப்பு பரிமாற்றங்களை தானியக்கமாக்க ஷெல் ஸ்கிரிப்டுகள், பைதான் ஸ்கிரிப்டுகள் அல்லது அன்சிபிள் பிளேபுக்குகளைப் பயன்படுத்தலாம்.
  13. SCP பரிமாற்றம் தோல்வியடைந்தால் நான் என்ன செய்ய வேண்டும்?
  14. பிணைய இணைப்பைச் சரிபார்த்து, சரியான பாதை மற்றும் அனுமதிகளை உறுதிசெய்து, SSH உள்ளமைவைச் சரிபார்க்கவும்.
  15. குறுக்கீடு செய்யப்பட்ட பரிமாற்றத்தை SCP மீண்டும் தொடங்க முடியுமா?
  16. இல்லை, பரிமாற்றங்களை மீண்டும் தொடங்குவதை SCP ஆதரிக்காது. மீண்டும் தொடரக்கூடிய இடமாற்றங்களுக்கு rsync ஐப் பயன்படுத்துவதைக் கவனியுங்கள்.
  17. SCP பரிமாற்றத்தின் போது கோப்பு ஒருமைப்பாட்டை நான் எவ்வாறு உறுதிப்படுத்துவது?
  18. பயன்படுத்த validate_checksum அன்சிபில் விருப்பம் அல்லது பரிமாற்றத்திற்குப் பிறகு கைமுறையாக செக்சம்களை சரிபார்க்கவும்.

SCP இடமாற்றங்கள் பற்றிய இறுதி எண்ணங்கள்:

ரிமோட் மற்றும் லோக்கல் மெஷின்களுக்கு இடையேயான கோப்புப் பரிமாற்றங்களுக்கு SCPஐப் பயன்படுத்துவதில் தேர்ச்சி பெறுவது திறமையான சர்வர் நிர்வாகத்திற்கு இன்றியமையாத திறமையாகும். ஷெல் ஸ்கிரிப்ட்கள், பைதான் ஸ்கிரிப்டுகள் மற்றும் அன்சிபிள் பிளேபுக்குகளைப் பயன்படுத்துவதன் மூலம், நீங்கள் இந்தப் பணிகளை தானியக்கமாக்கலாம் மற்றும் எளிமையாக்கலாம், நேரத்தைச் சேமிக்கலாம் மற்றும் பிழைகளைக் குறைக்கலாம். சுழல்நிலை நகலெடுப்பு, போர்ட் விவரக்குறிப்பு மற்றும் தரவு சுருக்கம் போன்ற மேம்பட்ட விருப்பங்கள் SCP இன் பல்துறை திறனை மேலும் மேம்படுத்துகின்றன. தினசரி செயல்பாடுகள் அல்லது பெரிய அளவிலான தரவு இடம்பெயர்வுகள், இந்த நுட்பங்களைப் புரிந்துகொள்வது பாதுகாப்பான மற்றும் நம்பகமான கோப்பு பரிமாற்றங்களை உறுதி செய்கிறது.