DocsDocumentationTutorialsUsing mscp for Fast File Transfers

Brug mscp til hurtige filoverførsler

Lær, hvordan du bruger mscp (multi-threaded scp) til højhastighedsoverførsler af filer til din Appbox-server ved hjælp af flere SSH-forbindelser.

mscp er en multi-threaded variant af scp, der kopierer filer over flere SSH-forbindelser (SFTP) samtidigt. Det muliggør markant hurtigere overførsler af store filer og mapper ved at bruge parallelle forbindelser.

Forudsætninger

Før du bruger mscp, skal du installere SFTPgo på din Appbox-server for at få dine SFTP-legitimationsoplysninger.

Trin 1: Installer SFTPgo

  1. Besøg SFTPgo-appsiden i Appbox App Store
  2. Klik på Install for at tilføje SFTPgo til din server
  3. Når det er installeret, modtager du dine forbindelsesoplysninger:
    • Username: Dit SFTP-brugernavn
    • Password: Din SFTP-adgangskode
    • Hostname: f.eks. sftpgo.yourserver.appboxes.co
    • SFTP Port: f.eks. 25557
    • FTP/FTPS Port: f.eks. 25555
    • WebDav URL: Til WebDAV-adgang

Installation af mscp

Vælg installationsmetoden for dit operativsystem:

macOS

Med Homebrew (anbefalet)

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 ikke native Windows-binærfiler, men du kan bruge det via WSL (Windows Subsystem for Linux):

Trin 1: Installer WSL

Åbn PowerShell som Administrator, og kør:

wsl --install

Genstart computeren, når du bliver bedt om det.

Trin 2: Installer mscp i WSL

Når WSL er sat op (Ubuntu er standard), skal du åbne WSL-terminalen og køre:

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

Byg fra kilde

Hvis pakker ikke er tilgængelige for dit system, kan du bygge mscp fra kilde:

# 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æggende brug

mscp-syntaksen ligner scp. Her er almindelige brugsmønstre.

Upload en fil til 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/

Upload en mappe

I modsætning til scp kræver mscp ikke flaget -r for mapper:

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

Download en fil fra din server

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

Download en mappe

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

Avancerede indstillinger

Brug flere forbindelser

Som standard bruger mscp flere forbindelser. Du kan angive antallet af forbindelser med -n:

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

Genoptag fejlede overførsler (checkpointing)

mscp understøtter checkpointing til at genoptage afbrudte overførsler:

# 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

Angiv SSH-nøgleautentificering

Hvis du har sat SSH-nøgleautentificering op med SFTPgo:

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

Begræns båndbredde

For at begrænse overførselsbåndbredde (nyttigt på delte forbindelser):

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

Eksempel: Komplet workflow

Her er et komplet eksempel med SFTPgo-legitimationsoplysninger fra 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/

Ydelsestips

  1. Brug flere forbindelser til store filer: Øg værdien for -n ved store filoverførsler (f.eks. -n 8 eller -n 16)
  2. Brug færre forbindelser til mange små filer: For mapper med mange små filer kan færre forbindelser være mere effektive
  3. Aktivér komprimering for tekstfiler: mscp arver SSH-komprimering; brug -C til teksttunge overførsler
  4. Brug checkpointing til meget store overførsler: Aktivér altid checkpointing ved overførsler på flere gigabyte, så de kan genoptages, hvis de afbrydes

Fejlfinding

Forbindelse afvist

Sørg for, at du bruger den korrekte SFTP-port fra dine SFTPgo-indstillinger (ikke FTP-porten):

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

Tilladelse nægtet

Kontrollér, at dit brugernavn og din adgangskode er korrekte. Du kan først teste med en standard SFTP-klient:

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

Langsomme overførsler

Prøv at justere antallet af parallelle forbindelser:

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

Yderligere ressourcer