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

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

கோப்புகளை பாதுகாப்பாக நகலெடுக்கிறது: SCP ஐப் பயன்படுத்துவதற்கான வழிகாட்டி

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

இந்த வழிகாட்டியில், /home/user/Desktop இல் உள்ள உங்கள் உள்ளூர் கோப்பகத்தில் "foo" என்ற ரிமோட் கோப்புறையை நகலெடுப்பதற்கான படிகளை நாங்கள் உங்களுக்கு வழங்குவோம். நீங்கள் காப்புப்பிரதிகளை நிர்வகித்தாலும், குறியீட்டைப் பயன்படுத்தினாலும் அல்லது கோப்புகளை நகர்த்த வேண்டியிருந்தாலும், SCP கட்டளைகளைப் புரிந்துகொள்வது உங்கள் பணிகளை எளிதாகவும் திறமையாகவும் செய்யும்.

கட்டளை விளக்கம்
scp -r முழு கோப்பகங்களையும் தொலைவிலிருந்து உள்ளூர் இயந்திரத்திற்கு பாதுகாப்பாக நகலெடுக்கிறது.
paramiko.SFTPClient.from_transport() ஏற்கனவே உள்ள SSH போக்குவரத்திலிருந்து SFTP கிளையண்டை உருவாக்குகிறது.
os.makedirs() அனைத்து இடைநிலை-நிலை கோப்பகங்களும் உருவாக்கப்படுவதை உறுதிசெய்து, ஒரு கோப்பகத்தை மீண்டும் மீண்டும் உருவாக்குகிறது.
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ஸ்கிரிப்டிங்கிற்குப் பயன்படும், கேட்காமல் தானாகவே சேவையகத்தின் ஹோஸ்ட் விசையைச் சேர்க்கிறது.
scp.listdir_attr() ஒரு கோப்பகத்தில் உள்ள கோப்புகளின் பண்புகளை பட்டியலிடுகிறது, இது சுழல்நிலை நகல் செயல்பாட்டை செயல்படுத்துகிறது.
paramiko.S_ISDIR() கொடுக்கப்பட்ட பாதை ஒரு கோப்பகமா என்பதைச் சரிபார்க்கிறது, இது சுழல்நிலை நகலெடுப்பிற்கு உதவுகிறது.
scp.get() தொலை சேவையகத்திலிருந்து உள்ளூர் இயந்திரத்திற்கு ஒரு கோப்பை நகலெடுக்கிறது.

SCP ஸ்கிரிப்ட்களின் விரிவான விளக்கம்

முதல் ஸ்கிரிப்ட் உதாரணம் பயன்படுத்துவதை நிரூபிக்கிறது scp -r ஒரு தொலை கோப்பகத்தை உள்ளூர் இயந்திரத்திற்கு நகலெடுக்க கட்டளை. தி scp கட்டளை, இது பாதுகாப்பான நகல் நெறிமுறையைக் குறிக்கிறது, இது ஒரு ரிமோட் ஹோஸ்ட் மற்றும் உள்ளூர் இயந்திரத்திற்கு இடையில் கோப்புகளை பாதுகாப்பாக மாற்ற SSH ஐப் பயன்படுத்தும் கட்டளை வரி கருவியாகும். தி -r கட்டளையில் கொடி செயல்பாடு சுழல்நிலையாக இருக்க வேண்டும் என்று குறிப்பிடுகிறது, அதாவது குறிப்பிட்ட கோப்பகத்தில் உள்ள அனைத்து கோப்புகளையும் கோப்பகங்களையும் நகலெடுக்கும். கட்டளை அமைப்பு நேரடியானது: scp -r user@remote_host:/path/to/remote/folder /home/user/Desktop/. இங்கே, user@remote_host தொலை பயனர் மற்றும் ஹோஸ்ட்டைக் குறிப்பிடுகிறது, மற்றும் /path/to/remote/folder மற்றும் /home/user/Desktop/ முறையே மூல மற்றும் இலக்கு பாதைகள்.

இரண்டாவது உதாரணம் SCP செயல்முறையை தானியங்குபடுத்தும் ஷெல் ஸ்கிரிப்ட் ஆகும். இந்த ஸ்கிரிப்ட் ரிமோட் பயனர், ஹோஸ்ட் மற்றும் பாதைகளுக்கான மாறிகளை வரையறுக்கிறது, மீண்டும் பயன்படுத்துவதையும் மாற்றுவதையும் எளிதாக்குகிறது. ஸ்கிரிப்ட் பயன்படுத்துகிறது scp -r கோப்புகளை மாற்ற பாஷ் ஸ்கிரிப்ட் உள்ளது, இது மீண்டும் மீண்டும் இடமாற்றங்கள் தேவைப்படும் சூழ்நிலைகளில் உதவுகிறது. பரிமாற்றம் முடிந்ததும் பயனருக்குத் தெரிவிக்கும் அறிவிப்புச் செய்தியும் இதில் அடங்கும். மூன்றாவது உதாரணம் பாராமிகோ நூலகத்துடன் பைத்தானைப் பயன்படுத்துகிறது, இது மிகவும் சிக்கலான அல்லது தானியங்கி பணிப்பாய்வுகளுக்கு மிகவும் பயனுள்ளதாக இருக்கும். ஸ்கிரிப்ட் ஒரு SSH கிளையண்டை அமைக்கிறது மற்றும் பயன்படுத்துகிறது paramiko.SFTPClient.from_transport() ஒரு SFTP அமர்வை உருவாக்கும் முறை. ரிமோட் சர்வரில் இருந்து லோக்கல் டைரக்டரிக்கு கோப்புகளை மீண்டும் மீண்டும் நகலெடுக்கும் செயல்பாட்டை இது வரையறுக்கிறது. scp.listdir_attr() மற்றும் paramiko.S_ISDIR() கோப்புகள் மற்றும் கோப்பகங்களை வேறுபடுத்த. பைத்தானில் ஸ்கிரிப்டிங்கை விரும்புபவர்களுக்கு இந்த அணுகுமுறை பயனுள்ளதாக இருக்கும் மற்றும் பெரிய ஆட்டோமேஷன் ஸ்கிரிப்ட்களில் கோப்பு பரிமாற்ற செயல்பாட்டை ஒருங்கிணைக்க வேண்டும்.

ரிமோட் சர்வரில் இருந்து லோக்கல் மெஷினுக்கு கோப்புகளை மாற்ற SCP ஐப் பயன்படுத்துகிறது

SCPக்கான ஷெல் ஸ்கிரிப்ட்

# Basic SCP command to copy a remote folder to a local directory
scp -r user@remote_host:/path/to/remote/folder /home/user/Desktop/

# Breakdown of the command:
# scp: invokes the SCP program
# -r: recursively copies entire directories
# user@remote_host:/path/to/remote/folder: specifies the user and path to the remote folder
# /home/user/Desktop/: specifies the local destination directory

# Example usage with real values:
scp -r user@example.com:/var/www/foo /home/user/Desktop/

ஷெல் ஸ்கிரிப்ட் மூலம் SCP பரிமாற்றத்தை தானியக்கமாக்குகிறது

SCP ஐ தானியக்கமாக்குவதற்கான ஷெல் ஸ்கிரிப்ட்

#!/bin/bash
# This script automates the SCP process

# Variables
REMOTE_USER="user"
REMOTE_HOST="remote_host"
REMOTE_PATH="/path/to/remote/folder"
LOCAL_PATH="/home/user/Desktop/"

# Execute SCP command
scp -r ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH} ${LOCAL_PATH}

# Notify user of completion
echo "Files have been copied successfully from ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH} to ${LOCAL_PATH}"

SCP கோப்பு பரிமாற்றத்திற்கான பைதான் ஸ்கிரிப்ட்

பாராமிகோ நூலகத்தைப் பயன்படுத்தி பைதான் ஸ்கிரிப்ட்

import paramiko
import os

# Establish SSH client
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('remote_host', username='user', password='password')

# SCP command
scp = paramiko.SFTPClient.from_transport(ssh.get_transport())

# Define remote and local paths
remote_path = '/path/to/remote/folder'
local_path = '/home/user/Desktop/'

# Function to recursively copy files
def recursive_copy(remote_path, local_path):
    os.makedirs(local_path, exist_ok=True)
    for item in scp.listdir_attr(remote_path):
        remote_item = remote_path + '/' + item.filename
        local_item = os.path.join(local_path, item.filename)
        if paramiko.S_ISDIR(item.st_mode):
            recursive_copy(remote_item, local_item)
        else:
            scp.get(remote_item, local_item)

# Start copy process
recursive_copy(remote_path, local_path)

# Close connections
scp.close()
ssh.close()
print(f"Files have been copied successfully from {remote_path} to {local_path}")

மேம்பட்ட SCP பயன்பாடு: உதவிக்குறிப்புகள் மற்றும் தந்திரங்கள்

அடிப்படை பயன்பாட்டிற்கு அப்பால் scp கோப்புகள் மற்றும் கோப்பகங்களை நகலெடுப்பதற்கு, உங்கள் கோப்பு பரிமாற்ற அனுபவத்தை மேம்படுத்தக்கூடிய பல மேம்பட்ட நுட்பங்கள் மற்றும் விருப்பங்கள் உள்ளன. பரிமாற்றத்தின் போது பயன்படுத்தப்படும் அலைவரிசையை கட்டுப்படுத்தும் திறன் ஒரு பயனுள்ள அம்சமாகும், இது வரையறுக்கப்பட்ட பிணைய ஆதாரங்களுடன் பணிபுரியும் போது குறிப்பாக உதவியாக இருக்கும். இதைப் பயன்படுத்தி அடையலாம் -l ஒரு வினாடிக்கு கிலோபிட்களில் அலைவரிசை வரம்பைத் தொடர்ந்து விருப்பம், எடுத்துக்காட்டாக, scp -r -l 1000 user@remote_host:/path/to/remote/folder /home/user/Desktop/. மற்றொரு பயனுள்ள விருப்பம் -C கொடி, இது சுருக்கத்தை செயல்படுத்துகிறது, பெரிய கோப்புகளின் பரிமாற்றத்தை விரைவுபடுத்துகிறது.

பயன்படுத்தும் போது கருத்தில் கொள்ள வேண்டிய மற்றொரு முக்கியமான அம்சம் பாதுகாப்பு scp. போது scp பாதுகாப்பான இடமாற்றங்களுக்கு இயல்பாகவே SSH ஐப் பயன்படுத்துகிறது, பாதுகாப்பை மேம்படுத்த நீங்கள் எடுக்கக்கூடிய கூடுதல் படிகள் உள்ளன. உதாரணமாக, கடவுச்சொற்களுக்குப் பதிலாக அங்கீகாரத்திற்காக SSH விசைகளைப் பயன்படுத்துவது பாதுகாப்பையும் வசதியையும் கணிசமாக மேம்படுத்தும். கூடுதலாக, நீங்கள் வேறு SSH போர்ட்டைப் பயன்படுத்தி குறிப்பிடலாம் -P உங்கள் சர்வர் இயல்புநிலை போர்ட் 22 ஐப் பயன்படுத்தவில்லை என்றால் விருப்பம். எடுத்துக்காட்டாக, scp -P 2222 -r user@remote_host:/path/to/remote/folder /home/user/Desktop/ போர்ட் 2222 இல் SSH இயங்கும் சேவையகத்துடன் இணைக்க உங்களை அனுமதிக்கிறது.

SCP பற்றி பொதுவாக கேட்கப்படும் கேள்விகள் மற்றும் பதில்கள்

  1. SCP ஐப் பயன்படுத்தி ஒரு கோப்பை உள்ளூரிலிருந்து தொலைநிலைக்கு எவ்வாறு நகலெடுப்பது?
  2. நீங்கள் பயன்படுத்தலாம் scp local_file user@remote_host:/path/to/remote/directory.
  3. SCP பரிமாற்றத்தின் முன்னேற்றத்தை நான் எவ்வாறு சரிபார்க்கலாம்?
  4. பயன்படுத்த -v வாய்மொழி பயன்முறையை இயக்குவதற்கான விருப்பம்: scp -v -r user@remote_host:/path/to/remote/folder /home/user/Desktop/.
  5. SCP ஐப் பயன்படுத்தும் போது கோப்பு பண்புக்கூறுகளைப் பாதுகாக்க முடியுமா?
  6. ஆம், பயன்படுத்தவும் -p மாற்ற நேரங்கள், அணுகல் நேரங்கள் மற்றும் முறைகளைப் பாதுகாப்பதற்கான விருப்பம்: scp -p -r user@remote_host:/path/to/remote/folder /home/user/Desktop/.
  7. வேறு SSH விசையுடன் SCP ஐ எவ்வாறு பயன்படுத்துவது?
  8. உடன் SSH விசையைக் குறிப்பிடவும் -i விருப்பம்: scp -i /path/to/key -r user@remote_host:/path/to/remote/folder /home/user/Desktop/.
  9. SCP உடன் பெரிய கோப்பு பரிமாற்றங்களை நான் எவ்வாறு கையாள்வது?
  10. பயன்படுத்த -C சுருக்கத்திற்கான விருப்பம் மற்றும் -l அலைவரிசையை கட்டுப்படுத்த விருப்பம்: scp -C -l 1000 -r user@remote_host:/path/to/remote/folder /home/user/Desktop/.
  11. வேறொரு SSH போர்ட் மூலம் SCP ஐப் பயன்படுத்தி கோப்புகளை எவ்வாறு மாற்றுவது?
  12. பயன்படுத்த -P துறைமுகத்தைக் குறிப்பிடுவதற்கான விருப்பம்: scp -P 2222 -r user@remote_host:/path/to/remote/folder /home/user/Desktop/.
  13. SCP குறியீட்டு இணைப்புகளைக் கையாள முடியுமா?
  14. ஆம், தி -r விருப்பம் குறியீட்டு இணைப்புகள் மற்றும் கோப்புகள் மற்றும் கோப்பகங்களை நகலெடுக்கும்.
  15. SCP பரிமாற்றம் தடைபட்டால் என்ன நடக்கும்?
  16. மீண்டும் இயக்கவும் scp பரிமாற்றத்தை மீண்டும் தொடங்க கட்டளை; இது ஏற்கனவே நகலெடுக்கப்பட்ட கோப்புகளைத் தவிர்க்கும்.
  17. ஸ்கிரிப்ட்டில் கடவுச்சொல்லுடன் SCP ஐ எவ்வாறு பயன்படுத்துவது?
  18. அதற்கு பதிலாக SSH விசைகளைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது, ஆனால் நீங்கள் போன்ற கருவிகளைப் பயன்படுத்தலாம் sshpass ஸ்கிரிப்ட்களில் கடவுச்சொல் அங்கீகாரத்திற்காக.

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

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