DokumentationDocumentationTutorialsUsing mscp for Fast File Transfers

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

  1. Besök SFTPgo-appsidan i Appbox App Store
  2. Klicka på Install för att lägga till SFTPgo på din server
  3. 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

Installera mscp

Välj installationsmetod för ditt operativsystem:

macOS

Med Homebrew (rekommenderas)

brew install upa/tap/mscp

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

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

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 install

Grundläggande användning

mscp-syntaxen liknar scp. Här är vanliga användningsmönster.

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

Ange 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

  1. Använd fler anslutningar för stora filer: Öka värdet för -n vid stora filöverföringar (t.ex. -n 8 eller -n 16)
  2. 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
  3. Aktivera komprimering för textfiler: mscp ärver SSH-komprimering; använd -C för texttunga överföringar
  4. 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.co

Långsamma överföringar

Försök justera antalet parallella anslutningar:

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

Ytterligare resurser