DocsDocumentationTutorialsUsing mscp for Fast File Transfers

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

  1. Bezoek de SFTPgo app-pagina in de Appbox App Store
  2. Klik op Install om SFTPgo aan je server toe te voegen
  3. 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

mscp installeren

Kies de installatiemethode voor je besturingssysteem:

macOS

Homebrew gebruiken (aanbevolen)

brew install upa/tap/mscp

MacPorts gebruiken

sudo port install mscp

Ubuntu / Debian

sudo add-apt-repository ppa:upaa/mscp
sudo apt-get update
sudo apt-get install mscp

RHEL / Fedora / CentOS / Rocky Linux / AlmaLinux

sudo dnf copr enable upaaa/mscp
sudo dnf install mscp

Windows

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 --install

Start 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 mscp

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 install

Basisgebruik

De mscp-syntax lijkt op scp. Hieronder staan veelvoorkomende gebruikspatronen.

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 -r

SSH 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

  1. Gebruik meer verbindingen voor grote bestanden: Verhoog de -n-waarde voor grote bestandsoverdrachten (bijv. -n 8 of -n 16)
  2. Gebruik minder verbindingen voor veel kleine bestanden: Voor mappen met veel kleine bestanden kunnen minder verbindingen efficienter zijn
  3. Schakel compressie in voor tekstbestanden: mscp erft SSH-compressie; gebruik -C voor overdrachten met veel tekst
  4. 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 port

Toegang 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.co

Trage overdrachten

Probeer het aantal parallelle verbindingen aan te passen:

mscp -P 25557 -n 16 ...  # Increase connections

Aanvullende resources