mscp gebruiken voor snelle bestandsoverdrachten
Leer hoe je mscp (multi-threaded scp) gebruikt voor snelle bestandsoverdrachten naar je Appbox-server met meerdere SSH-verbindingen.
mscp is een multi-threaded variant van scp die bestanden tegelijk via meerdere SSH (SFTP)-verbindingen kopieert. Dit maakt overdrachten van grote bestanden en mappen aanzienlijk sneller door parallelle verbindingen te gebruiken.
Vereisten
Voordat je mscp gebruikt, moet je SFTPgo op je Appbox-server installeren om je SFTP-inloggegevens te krijgen.
Stap 1: SFTPgo installeren
- Bezoek de SFTPgo app-pagina in de Appbox App Store
- Klik op Install om SFTPgo aan je server toe te voegen
- Zodra de installatie is voltooid, ontvang je je verbindingsgegevens:
- Username: Je SFTP-gebruikersnaam
- Password: Je SFTP-wachtwoord
- Hostname: bijv.
sftpgo.yourserver.appboxes.co - SFTP Port: bijv.
25557 - FTP/FTPS Port: bijv.
25555 - WebDav URL: Voor WebDAV-toegang
Let op
Bewaar je SFTPgo-inloggegevens veilig. Je hebt de hostname, gebruikersnaam, het wachtwoord en de SFTP port nodig voor mscp-verbindingen.
mscp installeren
Kies de installatiemethode voor je besturingssysteem:
macOS
Homebrew gebruiken (aanbevolen)
brew install upa/tap/mscpMacPorts gebruiken
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 heeft geen native Windows-binaries, maar je kunt het gebruiken via WSL (Windows Subsystem for Linux):
Stap 1: WSL installeren
Open PowerShell als Administrator en voer uit:
wsl --installStart je computer opnieuw op wanneer daarom wordt gevraagd.
Stap 2: mscp installeren in WSL
Nadat WSL is ingesteld (Ubuntu is de standaard), open je de WSL-terminal en voer je uit:
sudo add-apt-repository ppa:upaa/mscp
sudo apt-get update
sudo apt-get install mscpWindows-bestandspaden in WSL
In WSL zijn je Windows-schijven beschikbaar onder /mnt/. Bijvoorbeeld: C:\Users\YourName\Downloads wordt /mnt/c/Users/YourName/Downloads.
Bouwen vanaf broncode
Als pakketten niet beschikbaar zijn voor je systeem, kun je mscp vanaf broncode bouwen:
# 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 installBasisgebruik
De mscp-syntax lijkt op scp. Hieronder staan veelvoorkomende gebruikspatronen.
Belangrijk: gebruik je SFTP Port
In de voorbeelden hieronder staat 25557 voor de SFTP Port uit je SFTPgo-instellingen. Vervang dit door de daadwerkelijke SFTP port die in je SFTPgo Options-paneel wordt getoond.
Een bestand uploaden naar je 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/Een map uploaden
In tegenstelling tot scp heeft mscp geen -r-flag nodig voor mappen:
# -P 25557 is the SFTP port from your SFTPgo Options
mscp -P 25557 /local/directory username@sftpgo.yourserver.appboxes.co:/remote/path/Een bestand downloaden van je server
# Replace 25557 with your actual SFTP port
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/file.zip /local/destination/Een map downloaden
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/directory/ /local/path/Geavanceerde opties
Meerdere verbindingen gebruiken
Standaard gebruikt mscp meerdere verbindingen. Je kunt het aantal verbindingen opgeven met -n:
mscp -P 25557 -n 8 largefile.zip username@sftpgo.yourserver.appboxes.co:/destination/Mislukte overdrachten hervatten (checkpointing)
mscp ondersteunt checkpointing om onderbroken overdrachten te hervatten:
# 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 -rSSH key-authenticatie opgeven
Als je SSH key-authenticatie met SFTPgo hebt ingesteld:
mscp -P 25557 -i ~/.ssh/your_key localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Bandbreedte beperken
Om overdrachtsbandbreedte te beperken (handig bij gedeelde verbindingen):
mscp -P 25557 -l 10M localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Voorbeeld: volledige workflow
Hier is een volledig voorbeeld met de SFTPgo-inloggegevens van 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/Prestatietips
- Gebruik meer verbindingen voor grote bestanden: Verhoog de
-n-waarde voor grote bestandsoverdrachten (bijv.-n 8of-n 16) - Gebruik minder verbindingen voor veel kleine bestanden: Voor mappen met veel kleine bestanden kunnen minder verbindingen efficienter zijn
- Schakel compressie in voor tekstbestanden: mscp erft SSH-compressie; gebruik
-Cvoor overdrachten met veel tekst - Gebruik checkpointing voor zeer grote overdrachten: Schakel checkpointing altijd in voor multi-gigabyte-overdrachten, zodat je kunt hervatten als ze worden onderbroken
Probleemoplossing
Verbinding geweigerd
Zorg dat je de juiste SFTP port uit je SFTPgo-instellingen gebruikt (niet de FTP port):
mscp -P 25557 ... # Use your actual SFTP portToegang geweigerd
Controleer of je gebruikersnaam en wachtwoord correct zijn. Je kunt dit eerst testen met een standaard SFTP-client:
sftp -P 25557 username@sftpgo.yourserver.appboxes.coTrage overdrachten
Probeer het aantal parallelle verbindingen aan te passen:
mscp -P 25557 -n 16 ... # Increase connections