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
- Besuchen Sie die SFTPgo App-Seite im Appbox App Store
- Klicken Sie auf Installieren, um SFTPgo zu Ihrem Server hinzuzufügen
- 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
Hinweis
Bewahren Sie Ihre SFTPgo-Zugangsdaten sicher auf. Sie benötigen Hostname, Benutzername, Passwort und SFTP-Port für mscp-Verbindungen.
mscp installieren
Wählen Sie die Installationsmethode für Ihr Betriebssystem:
macOS
Mit Homebrew (Empfohlen)
brew install upa/tap/mscpMit 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 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 --installStarten 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 mscpWindows-Dateipfade in WSL
In WSL sind Ihre Windows-Laufwerke unter /mnt/ zugänglich. Zum Beispiel wird C:\Users\IhrName\Downloads zu /mnt/c/Users/IhrName/Downloads.
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 installGrundlegende Verwendung
Die mscp-Syntax ist ähnlich wie bei scp. Hier sind gängige Nutzungsmuster.
Wichtig: Verwenden Sie Ihren SFTP-Port
In den folgenden Beispielen steht 25557 für den SFTP-Port aus Ihren SFTPgo-Einstellungen. Ersetzen Sie diesen durch Ihren tatsächlichen SFTP-Port, der in Ihrem SFTPgo Options-Panel angezeigt wird.
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 -rSSH-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
- Mehr Verbindungen für große Dateien verwenden: Erhöhen Sie den
-nWert für große Dateiübertragungen (z.B.-n 8oder-n 16) - Weniger Verbindungen für viele kleine Dateien: Bei Verzeichnissen mit vielen kleinen Dateien können weniger Verbindungen effizienter sein
- Komprimierung für Textdateien aktivieren: mscp erbt die SSH-Komprimierung; verwenden Sie
-Cfür textlastige Übertragungen - 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 portZugriff 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.coLangsame Übertragungen
Versuchen Sie, die Anzahl der parallelen Verbindungen anzupassen:
mscp -P 25557 -n 16 ... # Increase connections