Χρήση του mscp για γρήγορες μεταφορές αρχείων
Μάθετε πώς να χρησιμοποιείτε το mscp (multi-threaded scp) για μεταφορές αρχείων υψηλής ταχύτητας προς τον Appbox server σας χρησιμοποιώντας πολλαπλές συνδέσεις SSH.
Το mscp είναι μια multi-threaded παραλλαγή του scp που αντιγράφει αρχεία ταυτόχρονα μέσω πολλαπλών συνδέσεων SSH (SFTP). Αυτό επιτρέπει σημαντικά ταχύτερες μεταφορές για μεγάλα αρχεία και φακέλους, αξιοποιώντας παράλληλες συνδέσεις.
Προαπαιτούμενα
Πριν χρησιμοποιήσετε το mscp, πρέπει να εγκαταστήσετε το SFTPgo στον Appbox server σας για να λάβετε τα SFTP credentials σας.
Βήμα 1: Εγκατάσταση SFTPgo
- Επισκεφθείτε τη σελίδα εφαρμογής SFTPgo στο Appbox App Store
- Κάντε κλικ στο Install για να προσθέσετε το SFTPgo στον server σας
- Αφού εγκατασταθεί, θα λάβετε τα στοιχεία σύνδεσής σας:
- Username: Το SFTP username σας
- Password: Το SFTP password σας
- Hostname: π.χ.
sftpgo.yourserver.appboxes.co - SFTP Port: π.χ.
25557 - FTP/FTPS Port: π.χ.
25555 - WebDav URL: Για πρόσβαση WebDAV
Σημείωση
Κρατήστε ασφαλή τα SFTPgo credentials σας. Θα χρειαστείτε hostname, username, password και SFTP port για συνδέσεις mscp.
Εγκατάσταση του mscp
Επιλέξτε τη μέθοδο εγκατάστασης για το λειτουργικό σας σύστημα:
macOS
Με Homebrew (προτείνεται)
brew install upa/tap/mscpΜε MacPorts
sudo port install mscpUbuntu / Debian
sudo add-apt-repository ppa:upaa/mscp
sudo apt-get update
sudo apt-get install mscpRHEL / Fedora / CentOS / Rocky Linux / AlmaLinux
sudo dnf copr enable upaaa/mscp
sudo dnf install mscpWindows
Το mscp δεν διαθέτει native Windows binaries, αλλά μπορείτε να το χρησιμοποιήσετε μέσω WSL (Windows Subsystem for Linux):
Βήμα 1: Εγκατάσταση WSL
Ανοίξτε το PowerShell ως Administrator και εκτελέστε:
wsl --installΕπανεκκινήστε τον υπολογιστή σας όταν σας ζητηθεί.
Βήμα 2: Εγκατάσταση mscp στο WSL
Αφού ρυθμιστεί το WSL (το Ubuntu είναι η προεπιλογή), ανοίξτε το WSL terminal και εκτελέστε:
sudo add-apt-repository ppa:upaa/mscp
sudo apt-get update
sudo apt-get install mscpΔιαδρομές αρχείων Windows στο WSL
Στο WSL, οι δίσκοι Windows είναι προσβάσιμοι κάτω από το /mnt/. Για παράδειγμα, το C:\Users\YourName\Downloads γίνεται /mnt/c/Users/YourName/Downloads.
Build από source
Αν δεν υπάρχουν διαθέσιμα packages για το σύστημά σας, μπορείτε να κάνετε build το mscp από source:
# Clone the repository
git clone https://github.com/upa/mscp.git
cd mscp
# Prepare patched libssh
git submodule update --init
patch -d libssh -p1 < patch/$(git -C libssh describe).patch
# Install build dependencies
bash ./scripts/install-build-deps.sh
# Build
mkdir build && cd build
cmake ..
make
# Install
sudo make installΒασική χρήση
Η σύνταξη του mscp είναι παρόμοια με του scp. Ακολουθούν συνηθισμένα μοτίβα χρήσης.
Σημαντικό: χρησιμοποιήστε τη SFTP Port σας
Στα παρακάτω παραδείγματα, το 25557 αντιπροσωπεύει το SFTP Port από τις ρυθμίσεις SFTPgo. Αντικαταστήστε το με το πραγματικό SFTP port που εμφανίζεται στο SFTPgo Options panel σας.
Ανέβασμα αρχείου στον server σας
# -P specifies the SFTP port (use your SFTP port from SFTPgo settings)
mscp -P 25557 localfile.zip username@sftpgo.yourserver.appboxes.co:/path/to/destination/Ανέβασμα φακέλου
Σε αντίθεση με το scp, το mscp δεν απαιτεί το flag -r για φακέλους:
# -P 25557 is the SFTP port from your SFTPgo Options
mscp -P 25557 /local/directory username@sftpgo.yourserver.appboxes.co:/remote/path/Κατέβασμα αρχείου από τον server σας
# Replace 25557 with your actual SFTP port
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/file.zip /local/destination/Κατέβασμα φακέλου
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/directory/ /local/path/Προχωρημένες επιλογές
Χρήση πολλαπλών συνδέσεων
Από προεπιλογή, το mscp χρησιμοποιεί πολλαπλές συνδέσεις. Μπορείτε να καθορίσετε τον αριθμό συνδέσεων με -n:
mscp -P 25557 -n 8 largefile.zip username@sftpgo.yourserver.appboxes.co:/destination/Συνέχιση αποτυχημένων μεταφορών (checkpointing)
Το mscp υποστηρίζει checkpointing για συνέχιση διακοπτόμενων μεταφορών:
# Enable checkpointing
mscp -P 25557 -C /path/to/checkpoint.json largefile.zip username@server:/destination/
# Resume a failed transfer
mscp -P 25557 -C /path/to/checkpoint.json -rΚαθορισμός SSH Key Authentication
Αν έχετε ρυθμίσει SSH key authentication με το SFTPgo:
mscp -P 25557 -i ~/.ssh/your_key localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Περιορισμός bandwidth
Για να περιορίσετε το bandwidth μεταφοράς (χρήσιμο σε κοινόχρηστες συνδέσεις):
mscp -P 25557 -l 10M localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Παράδειγμα: πλήρης ροή εργασίας
Ακολουθεί ένα πλήρες παράδειγμα με χρήση των SFTPgo credentials από το Appbox:
# Set your credentials (replace with your actual values from SFTPgo Options)
HOST="sftpgo.yourserver.appboxes.co" # Your Hostname
PORT="25557" # Your SFTP Port (not FTP port!)
USER="your_username" # Your Username
# Upload a large file using 4 connections
mscp -P $PORT -n 4 ~/Downloads/large-backup.tar.gz $USER@$HOST:/backups/
# Upload an entire directory
mscp -P $PORT ~/Projects/my-website/ $USER@$HOST:/www/
# Download files from server
mscp -P $PORT $USER@$HOST:/media/movies/ ~/Downloads/movies/Συμβουλές απόδοσης
- Χρησιμοποιήστε περισσότερες συνδέσεις για μεγάλα αρχεία: Αυξήστε την τιμή
-nγια μεταφορές μεγάλων αρχείων (π.χ.-n 8ή-n 16) - Χρησιμοποιήστε λιγότερες συνδέσεις για πολλά μικρά αρχεία: Για φακέλους με πολλά μικρά αρχεία, λιγότερες συνδέσεις μπορεί να είναι πιο αποδοτικές
- Ενεργοποιήστε συμπίεση για αρχεία κειμένου: Το mscp κληρονομεί τη συμπίεση SSH· χρησιμοποιήστε
-Cγια μεταφορές με πολύ κείμενο - Χρησιμοποιήστε checkpointing για πολύ μεγάλες μεταφορές: Ενεργοποιείτε πάντα checkpointing για μεταφορές πολλών gigabyte, ώστε να επιτρέπεται η συνέχιση αν διακοπούν
Αντιμετώπιση προβλημάτων
Connection Refused
Βεβαιωθείτε ότι χρησιμοποιείτε το σωστό SFTP port από τις ρυθμίσεις SFTPgo (όχι το FTP port):
mscp -P 25557 ... # Use your actual SFTP portPermission Denied
Επαληθεύστε ότι το username και το password σας είναι σωστά. Μπορείτε πρώτα να δοκιμάσετε με έναν τυπικό SFTP client:
sftp -P 25557 username@sftpgo.yourserver.appboxes.coΑργές μεταφορές
Δοκιμάστε να προσαρμόσετε τον αριθμό παράλληλων συνδέσεων:
mscp -P 25557 -n 16 ... # Increase connections