Använda mscp för snabba filöverföringar
Lär dig hur du använder mscp (multi-threaded scp) för snabba filöverföringar till din Appbox-server med flera SSH-anslutningar.
mscp är en flertrådad variant av scp som kopierar filer över flera SSH-anslutningar (SFTP) samtidigt. Det möjliggör betydligt snabbare överföringar för stora filer och kataloger genom att använda parallella anslutningar.
Förutsättningar
Innan du använder mscp behöver du installera SFTPgo på din Appbox-server för att få dina SFTP-uppgifter.
Steg 1: Installera SFTPgo
- Besök SFTPgo-appsidan i Appbox App Store
- Klicka på Install för att lägga till SFTPgo på din server
- När installationen är klar får du dina anslutningsuppgifter:
- Username: Ditt SFTP-användarnamn
- Password: Ditt SFTP-lösenord
- Hostname: t.ex.
sftpgo.yourserver.appboxes.co - SFTP Port: t.ex.
25557 - FTP/FTPS Port: t.ex.
25555 - WebDav URL: För WebDAV-åtkomst
Obs
Håll dina SFTPgo-uppgifter säkra. Du behöver värdnamn, användarnamn, lösenord och SFTP-port för mscp-anslutningar.
Installera mscp
Välj installationsmetod för ditt operativsystem:
macOS
Med Homebrew (rekommenderas)
brew install upa/tap/mscpMed 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 har inga inbyggda Windows-binärer, men du kan använda det via WSL (Windows Subsystem for Linux):
Steg 1: Installera WSL
Öppna PowerShell som administratör och kör:
wsl --installStarta om datorn när du uppmanas.
Steg 2: Installera mscp i WSL
När WSL är konfigurerat (Ubuntu är standard), öppna WSL-terminalen och kör:
sudo add-apt-repository ppa:upaa/mscp
sudo apt-get update
sudo apt-get install mscpWindows-filsökvägar i WSL
I WSL är dina Windows-enheter tillgängliga under /mnt/. Till exempel blir C:\Users\YourName\Downloads till /mnt/c/Users/YourName/Downloads.
Bygga från källkod
Om paket inte finns tillgängliga för ditt system kan du bygga mscp från källkod:
# 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 installGrundläggande användning
mscp-syntaxen liknar scp. Här är vanliga användningsmönster.
Viktigt: använd din SFTP-port
I exemplen nedan representerar 25557 SFTP Port från dina SFTPgo-inställningar. Ersätt det med din faktiska SFTP-port som visas i din SFTPgo Options-panel.
Ladda upp en fil till din 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/Ladda upp en katalog
Till skillnad från scp kräver mscp inte flaggan -r för kataloger:
# -P 25557 is the SFTP port from your SFTPgo Options
mscp -P 25557 /local/directory username@sftpgo.yourserver.appboxes.co:/remote/path/Ladda ner en fil från din server
# Replace 25557 with your actual SFTP port
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/file.zip /local/destination/Ladda ner en katalog
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/directory/ /local/path/Avancerade alternativ
Använda flera anslutningar
Som standard använder mscp flera anslutningar. Du kan ange antalet anslutningar med -n:
mscp -P 25557 -n 8 largefile.zip username@sftpgo.yourserver.appboxes.co:/destination/Återuppta misslyckade överföringar (checkpointing)
mscp stöder checkpointing för att återuppta avbrutna överföringar:
# 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 -rAnge autentisering med SSH-nyckel
Om du har konfigurerat autentisering med SSH-nyckel i SFTPgo:
mscp -P 25557 -i ~/.ssh/your_key localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Begränsa bandbredd
För att begränsa överföringsbandbredden (användbart på delade anslutningar):
mscp -P 25557 -l 10M localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Exempel: komplett arbetsflöde
Här är ett komplett exempel med SFTPgo-uppgifterna från 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/Prestandatips
- Använd fler anslutningar för stora filer: Öka värdet för
-nvid stora filöverföringar (t.ex.-n 8eller-n 16) - Använd färre anslutningar för många små filer: För kataloger med många små filer kan färre anslutningar vara mer effektivt
- Aktivera komprimering för textfiler: mscp ärver SSH-komprimering; använd
-Cför texttunga överföringar - Använd checkpointing för mycket stora överföringar: Aktivera alltid checkpointing för överföringar på flera gigabyte så att de kan återupptas om de avbryts
Felsökning
Anslutning nekades
Kontrollera att du använder rätt SFTP-port från dina SFTPgo-inställningar (inte FTP-porten):
mscp -P 25557 ... # Use your actual SFTP portÅtkomst nekad
Kontrollera att ditt användarnamn och lösenord är korrekta. Du kan testa med en vanlig SFTP-klient först:
sftp -P 25557 username@sftpgo.yourserver.appboxes.coLångsamma överföringar
Försök justera antalet parallella anslutningar:
mscp -P 25557 -n 16 ... # Increase connections