Folosirea mscp pentru transferuri rapide de fișiere
Învață cum să folosești mscp (multi-threaded scp) pentru transferuri de fișiere de mare viteză către serverul tău Appbox, folosind mai multe conexiuni SSH.
mscp este o variantă multi-threaded a scp, care copiază fișiere prin mai multe conexiuni SSH (SFTP) simultan. Aceasta permite transferuri semnificativ mai rapide pentru fișiere și directoare mari prin utilizarea conexiunilor paralele.
Cerințe preliminare
Înainte de a folosi mscp, trebuie să instalezi SFTPgo pe serverul tău Appbox pentru a obține credențialele SFTP.
Pasul 1: Instalează SFTPgo
- Vizitează pagina aplicației SFTPgo din Appbox App Store
- Click pe Install pentru a adăuga SFTPgo pe serverul tău
- După instalare, vei primi detaliile de conectare:
- Username: Numele tău de utilizator SFTP
- Password: Parola ta SFTP
- Hostname: de ex.,
sftpgo.yourserver.appboxes.co - SFTP Port: de ex.,
25557 - FTP/FTPS Port: de ex.,
25555 - WebDav URL: Pentru acces WebDAV
Notă
Păstrează credențialele SFTPgo în siguranță. Vei avea nevoie de hostname, numele de utilizator, parola și portul SFTP pentru conexiunile mscp.
Instalarea mscp
Alege metoda de instalare pentru sistemul tău de operare:
macOS
Folosind Homebrew (recomandat)
brew install upa/tap/mscpFolosind 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 nu are binare native pentru Windows, dar îl poți folosi prin WSL (Windows Subsystem for Linux):
Pasul 1: Instalează WSL
Deschide PowerShell ca Administrator și rulează:
wsl --installRepornește computerul când ți se solicită.
Pasul 2: Instalează mscp în WSL
După configurarea WSL (Ubuntu este implicit), deschide terminalul WSL și rulează:
sudo add-apt-repository ppa:upaa/mscp
sudo apt-get update
sudo apt-get install mscpCăi de fișiere Windows în WSL
În WSL, drive-urile tale Windows sunt accesibile sub /mnt/. De exemplu, C:\Users\YourName\Downloads devine /mnt/c/Users/YourName/Downloads.
Construirea din sursă
Dacă pachetele nu sunt disponibile pentru sistemul tău, poți construi mscp din sursă:
# 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 installUtilizare de bază
Sintaxa mscp este similară cu scp. Iată câteva modele comune de utilizare.
Important: folosește portul tău SFTP
În exemplele de mai jos, 25557 reprezintă SFTP Port din setările tale SFTPgo. Înlocuiește-l cu portul tău SFTP real afișat în panoul SFTPgo Options.
Încarcă un fișier pe serverul tău
# -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/Încarcă un director
Spre deosebire de scp, mscp nu necesită flag-ul -r pentru directoare:
# -P 25557 is the SFTP port from your SFTPgo Options
mscp -P 25557 /local/directory username@sftpgo.yourserver.appboxes.co:/remote/path/Descarcă un fișier de pe serverul tău
# Replace 25557 with your actual SFTP port
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/file.zip /local/destination/Descarcă un director
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/directory/ /local/path/Opțiuni avansate
Folosirea mai multor conexiuni
Implicit, mscp folosește mai multe conexiuni. Poți specifica numărul de conexiuni cu -n:
mscp -P 25557 -n 8 largefile.zip username@sftpgo.yourserver.appboxes.co:/destination/Reluarea transferurilor eșuate (checkpointing)
mscp acceptă checkpointing pentru a relua transferurile întrerupte:
# 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 -rSpecifică autentificarea cu cheie SSH
Dacă ai configurat autentificarea cu cheie SSH în SFTPgo:
mscp -P 25557 -i ~/.ssh/your_key localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Limitează lățimea de bandă
Pentru a limita lățimea de bandă a transferului (util pe conexiuni partajate):
mscp -P 25557 -l 10M localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Exemplu: flux complet
Iată un exemplu complet folosind credențialele SFTPgo din 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/Sfaturi pentru performanță
- Folosește mai multe conexiuni pentru fișiere mari: Mărește valoarea
-npentru transferuri de fișiere mari (de ex.,-n 8sau-n 16) - Folosește mai puține conexiuni pentru multe fișiere mici: Pentru directoare cu multe fișiere mici, mai puține conexiuni pot fi mai eficiente
- Activează compresia pentru fișiere text: mscp moștenește compresia SSH; folosește
-Cpentru transferuri cu mult text - Folosește checkpointing pentru transferuri foarte mari: Activează întotdeauna checkpointing pentru transferuri de mai mulți gigabytes, pentru a permite reluarea dacă sunt întrerupte
Depanare
Conexiune refuzată
Asigură-te că folosești portul SFTP corect din setările SFTPgo (nu portul FTP):
mscp -P 25557 ... # Use your actual SFTP portPermisiune refuzată
Verifică dacă numele de utilizator și parola sunt corecte. Poți testa mai întâi cu un client SFTP standard:
sftp -P 25557 username@sftpgo.yourserver.appboxes.coTransferuri lente
Încearcă să ajustezi numărul de conexiuni paralele:
mscp -P 25557 -n 16 ... # Increase connections