DokumentationDocumentationTutorialsUsing mscp for Fast File Transfers

Schnelle Dateiübertragungen mit mscp

Erfahren Sie, wie Sie mscp (Multi-Threaded scp) für Hochgeschwindigkeits-Dateiübertragungen zu Ihrem Appbox-Server über mehrere SSH-Verbindungen nutzen können.

mscp ist eine Multi-Threaded-Variante von scp, die Dateien über mehrere SSH (SFTP)-Verbindungen gleichzeitig kopiert. Dies ermöglicht deutlich schnellere Übertragungen für große Dateien und Verzeichnisse durch die Nutzung paralleler Verbindungen.

Voraussetzungen

Bevor Sie mscp verwenden können, müssen Sie SFTPgo auf Ihrem Appbox-Server installieren, um Ihre SFTP-Zugangsdaten zu erhalten.

Schritt 1: SFTPgo installieren

  1. Besuchen Sie die SFTPgo App-Seite im Appbox App Store
  2. Klicken Sie auf Installieren, um SFTPgo zu Ihrem Server hinzuzufügen
  3. Nach der Installation erhalten Sie Ihre Verbindungsdaten:
    • Benutzername: Ihr SFTP-Benutzername
    • Passwort: Ihr SFTP-Passwort
    • Hostname: z.B. sftpgo.yourserver.appboxes.co
    • SFTP-Port: z.B. 25557
    • FTP/FTPS-Port: z.B. 25555
    • WebDav-URL: Für WebDAV-Zugriff

mscp installieren

Wählen Sie die Installationsmethode für Ihr Betriebssystem:

macOS

Mit Homebrew (Empfohlen)

brew install upa/tap/mscp

Mit MacPorts

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 hat keine nativen Windows-Binärdateien, aber Sie können es über WSL (Windows Subsystem for Linux) verwenden:

Schritt 1: WSL installieren

Öffnen Sie PowerShell als Administrator und führen Sie aus:

wsl --install

Starten Sie Ihren Computer neu, wenn Sie dazu aufgefordert werden.

Schritt 2: mscp in WSL installieren

Nachdem WSL eingerichtet ist (Ubuntu ist die Standardoption), öffnen Sie das WSL-Terminal und führen Sie aus:

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

Aus dem Quellcode bauen

Wenn für Ihr System keine Pakete verfügbar sind, können Sie mscp aus dem Quellcode bauen:

# 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

Grundlegende Verwendung

Die mscp-Syntax ist ähnlich wie bei scp. Hier sind gängige Nutzungsmuster.

Datei auf Ihren Server hochladen

# -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/

Verzeichnis hochladen

Anders als bei scp benötigt mscp kein -r Flag für Verzeichnisse:

# -P 25557 is the SFTP port from your SFTPgo Options
mscp -P 25557 /local/directory username@sftpgo.yourserver.appboxes.co:/remote/path/

Datei von Ihrem Server herunterladen

# Replace 25557 with your actual SFTP port
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/file.zip /local/destination/

Verzeichnis herunterladen

mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/directory/ /local/path/

Erweiterte Optionen

Mehrere Verbindungen verwenden

Standardmäßig verwendet mscp mehrere Verbindungen. Sie können die Anzahl der Verbindungen mit -n angeben:

mscp -P 25557 -n 8 largefile.zip username@sftpgo.yourserver.appboxes.co:/destination/

Fehlgeschlagene Übertragungen fortsetzen (Checkpointing)

mscp unterstützt Checkpointing zum Fortsetzen unterbrochener Übertragungen:

# 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-Schlüssel-Authentifizierung angeben

Wenn Sie SSH-Schlüssel-Authentifizierung mit SFTPgo eingerichtet haben:

mscp -P 25557 -i ~/.ssh/your_key localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/

Bandbreite begrenzen

Um die Übertragungsbandbreite zu begrenzen (nützlich bei geteilten Verbindungen):

mscp -P 25557 -l 10M localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/

Beispiel: Vollständiger Workflow

Hier ist ein vollständiges Beispiel mit den SFTPgo-Zugangsdaten von 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/

Performance-Tipps

  1. Mehr Verbindungen für große Dateien verwenden: Erhöhen Sie den -n Wert für große Dateiübertragungen (z.B. -n 8 oder -n 16)
  2. Weniger Verbindungen für viele kleine Dateien: Bei Verzeichnissen mit vielen kleinen Dateien können weniger Verbindungen effizienter sein
  3. Komprimierung für Textdateien aktivieren: mscp erbt die SSH-Komprimierung; verwenden Sie -C für textlastige Übertragungen
  4. Checkpointing für sehr große Übertragungen verwenden: Aktivieren Sie immer Checkpointing für Multi-Gigabyte-Übertragungen, um bei Unterbrechungen fortsetzen zu können

Fehlerbehebung

Verbindung abgelehnt

Stellen Sie sicher, dass Sie den korrekten SFTP-Port aus Ihren SFTPgo-Einstellungen verwenden (nicht den FTP-Port):

mscp -P 25557 ...  # Use your actual SFTP port

Zugriff verweigert

Überprüfen Sie, ob Benutzername und Passwort korrekt sind. Sie können zuerst mit einem Standard-SFTP-Client testen:

sftp -P 25557 username@sftpgo.yourserver.appboxes.co

Langsame Übertragungen

Versuchen Sie, die Anzahl der parallelen Verbindungen anzupassen:

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

Weitere Ressourcen