Použití mscp pro rychlé přenosy souborů
Naučte se používat mscp (multi-threaded scp) pro vysokorychlostní přenosy souborů na server Appbox pomocí více SSH připojení.
mscp je vícevláknová varianta scp, která kopíruje soubory přes více SSH (SFTP) připojení současně. Díky využití paralelních připojení umožňuje výrazně rychlejší přenosy velkých souborů a adresářů.
Předpoklady
Před použitím mscp musíte na svůj server Appbox nainstalovat SFTPgo, abyste získali přihlašovací údaje SFTP.
Krok 1: Instalace SFTPgo
- Navštivte stránku aplikace SFTPgo v Appbox App Store
- Kliknutím na Install přidejte SFTPgo na svůj server
- Po instalaci obdržíte údaje pro připojení:
- Username: Vaše uživatelské jméno SFTP
- Password: Vaše heslo SFTP
- Hostname: např.
sftpgo.yourserver.appboxes.co - SFTP Port: např.
25557 - FTP/FTPS Port: např.
25555 - WebDav URL: Pro přístup přes WebDAV
Poznámka
Uchovávejte své přihlašovací údaje SFTPgo v bezpečí. Pro připojení mscp budete potřebovat hostname, uživatelské jméno, heslo a port SFTP.
Instalace mscp
Vyberte způsob instalace pro svůj operační systém:
macOS
Pomocí Homebrew (doporučeno)
brew install upa/tap/mscpPomocí 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 nemá nativní binární soubory pro Windows, ale můžete ho použít přes WSL (Windows Subsystem for Linux):
Krok 1: Instalace WSL
Otevřete PowerShell jako správce a spusťte:
wsl --installPo výzvě restartujte počítač.
Krok 2: Instalace mscp ve WSL
Po nastavení WSL (výchozí je Ubuntu) otevřete terminál WSL a spusťte:
sudo add-apt-repository ppa:upaa/mscp
sudo apt-get update
sudo apt-get install mscpCesty k souborům Windows ve WSL
Ve WSL jsou vaše disky Windows dostupné pod /mnt/. Například C:\Users\YourName\Downloads se změní na /mnt/c/Users/YourName/Downloads.
Sestavení ze zdrojového kódu
Pokud pro váš systém nejsou balíčky dostupné, můžete mscp sestavit ze zdrojového kódu:
# 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 installZákladní použití
Syntaxe mscp je podobná scp. Zde jsou běžné vzory použití.
Důležité: použijte svůj SFTP port
V níže uvedených příkladech představuje 25557 SFTP Port z nastavení SFTPgo. Nahraďte ho skutečným portem SFTP zobrazeným v panelu SFTPgo Options.
Nahrání souboru na 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/Nahrání adresáře
Na rozdíl od scp mscp pro adresáře nevyžaduje příznak -r:
# -P 25557 is the SFTP port from your SFTPgo Options
mscp -P 25557 /local/directory username@sftpgo.yourserver.appboxes.co:/remote/path/Stažení souboru ze serveru
# Replace 25557 with your actual SFTP port
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/file.zip /local/destination/Stažení adresáře
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/directory/ /local/path/Pokročilé možnosti
Použití více připojení
Ve výchozím nastavení mscp používá více připojení. Počet připojení můžete určit pomocí -n:
mscp -P 25557 -n 8 largefile.zip username@sftpgo.yourserver.appboxes.co:/destination/Obnovení neúspěšných přenosů (checkpointing)
mscp podporuje checkpointing pro obnovení přerušených přenosů:
# 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 -rUrčení ověření SSH klíčem
Pokud jste nastavili ověření SSH klíčem v SFTPgo:
mscp -P 25557 -i ~/.ssh/your_key localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Omezení šířky pásma
Pro omezení šířky pásma přenosu (užitečné na sdílených připojeních):
mscp -P 25557 -l 10M localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Příklad: kompletní pracovní postup
Zde je kompletní příklad s použitím přihlašovacích údajů SFTPgo z 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/Tipy pro výkon
- Použijte více připojení pro velké soubory: Zvyšte hodnotu
-npro přenosy velkých souborů (např.-n 8nebo-n 16) - Použijte méně připojení pro mnoho malých souborů: U adresářů s mnoha malými soubory může být menší počet připojení efektivnější
- Zapněte kompresi pro textové soubory: mscp dědí kompresi SSH; pro přenosy s velkým množstvím textu použijte
-C - Použijte checkpointing pro velmi velké přenosy: U vícegigabajtových přenosů vždy zapněte checkpointing, aby bylo možné pokračovat po přerušení
Řešení problémů
Připojení odmítnuto
Ujistěte se, že používáte správný SFTP port z nastavení SFTPgo (ne FTP port):
mscp -P 25557 ... # Use your actual SFTP portPřístup odepřen
Ověřte, že vaše uživatelské jméno a heslo jsou správné. Nejprve to můžete otestovat standardním klientem SFTP:
sftp -P 25557 username@sftpgo.yourserver.appboxes.coPomalé přenosy
Zkuste upravit počet paralelních připojení:
mscp -P 25557 -n 16 ... # Increase connections