Menggunakan mscp untuk Transfer File Cepat
Pelajari cara menggunakan mscp (multi-threaded scp) untuk transfer file berkecepatan tinggi ke server Appbox Anda menggunakan beberapa koneksi SSH.
mscp adalah varian multi-threaded dari scp yang menyalin file melalui beberapa koneksi SSH (SFTP) secara bersamaan. Ini memungkinkan transfer yang jauh lebih cepat untuk file dan direktori besar dengan memanfaatkan koneksi paralel.
Prasyarat
Sebelum menggunakan mscp, Anda perlu menginstal SFTPgo di server Appbox Anda untuk mendapatkan kredensial SFTP.
Langkah 1: Instal SFTPgo
- Kunjungi halaman aplikasi SFTPgo di Appbox App Store
- Klik Install untuk menambahkan SFTPgo ke server Anda
- Setelah terinstal, Anda akan menerima detail koneksi:
- Username: Username SFTP Anda
- Password: Password SFTP Anda
- Hostname: misalnya,
sftpgo.yourserver.appboxes.co - SFTP Port: misalnya,
25557 - FTP/FTPS Port: misalnya,
25555 - WebDav URL: Untuk akses WebDAV
Catatan
Simpan kredensial SFTPgo Anda dengan aman. Anda akan membutuhkan hostname, username, password, dan port SFTP untuk koneksi mscp.
Menginstal mscp
Pilih metode instalasi untuk sistem operasi Anda:
macOS
Menggunakan Homebrew (Direkomendasikan)
brew install upa/tap/mscpMenggunakan 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 tidak memiliki binary Windows native, tetapi Anda dapat menggunakannya melalui WSL (Windows Subsystem for Linux):
Langkah 1: Instal WSL
Buka PowerShell sebagai Administrator dan jalankan:
wsl --installRestart komputer Anda saat diminta.
Langkah 2: Instal mscp di WSL
Setelah WSL disiapkan (Ubuntu adalah default), buka terminal WSL dan jalankan:
sudo add-apt-repository ppa:upaa/mscp
sudo apt-get update
sudo apt-get install mscpPath File Windows di WSL
Di WSL, drive Windows Anda dapat diakses di bawah /mnt/. Misalnya, C:\Users\YourName\Downloads menjadi /mnt/c/Users/YourName/Downloads.
Build dari Source
Jika package tidak tersedia untuk sistem Anda, Anda dapat membangun mscp dari source:
# 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 installPenggunaan Dasar
Sintaks mscp mirip dengan scp. Berikut pola penggunaan yang umum.
Penting: Gunakan Port SFTP Anda
Dalam contoh di bawah, 25557 mewakili SFTP Port dari pengaturan SFTPgo Anda. Ganti dengan port SFTP sebenarnya yang ditampilkan di panel SFTPgo Options Anda.
Upload File ke Server Anda
# -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 Direktori
Berbeda dari scp, mscp tidak memerlukan flag -r untuk direktori:
# -P 25557 is the SFTP port from your SFTPgo Options
mscp -P 25557 /local/directory username@sftpgo.yourserver.appboxes.co:/remote/path/Download File dari Server Anda
# Replace 25557 with your actual SFTP port
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/file.zip /local/destination/Download Direktori
mscp -P 25557 username@sftpgo.yourserver.appboxes.co:/remote/directory/ /local/path/Opsi Lanjutan
Menggunakan Beberapa Koneksi
Secara default, mscp menggunakan beberapa koneksi. Anda dapat menentukan jumlah koneksi dengan -n:
mscp -P 25557 -n 8 largefile.zip username@sftpgo.yourserver.appboxes.co:/destination/Melanjutkan Transfer yang Gagal (Checkpointing)
mscp mendukung checkpointing untuk melanjutkan transfer yang terputus:
# 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 -rMenentukan Autentikasi SSH Key
Jika Anda telah menyiapkan autentikasi SSH key dengan SFTPgo:
mscp -P 25557 -i ~/.ssh/your_key localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Membatasi Bandwidth
Untuk membatasi bandwidth transfer (berguna pada koneksi bersama):
mscp -P 25557 -l 10M localfile.zip username@sftpgo.yourserver.appboxes.co:/destination/Contoh: Workflow Lengkap
Berikut contoh lengkap menggunakan kredensial SFTPgo dari 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/Tips Performa
- Gunakan lebih banyak koneksi untuk file besar: Naikkan nilai
-nuntuk transfer file besar (misalnya,-n 8atau-n 16) - Gunakan lebih sedikit koneksi untuk banyak file kecil: Untuk direktori dengan banyak file kecil, koneksi yang lebih sedikit mungkin lebih efisien
- Aktifkan kompresi untuk file teks: mscp mewarisi kompresi SSH; gunakan
-Cuntuk transfer yang banyak berisi teks - Gunakan checkpointing untuk transfer sangat besar: Selalu aktifkan checkpointing untuk transfer multi-gigabyte agar bisa dilanjutkan jika terputus
Pemecahan Masalah
Koneksi Ditolak
Pastikan Anda menggunakan port SFTP yang benar dari pengaturan SFTPgo (bukan port FTP):
mscp -P 25557 ... # Use your actual SFTP portPermission Denied
Verifikasi username dan password Anda benar. Anda dapat mengujinya terlebih dahulu dengan klien SFTP standar:
sftp -P 25557 username@sftpgo.yourserver.appboxes.coTransfer Lambat
Coba sesuaikan jumlah koneksi paralel:
mscp -P 25557 -n 16 ... # Increase connections