Transfer file antar server di Linux sering dilakukan untuk kebutuhan backup, deployment, maupun sinkronisasi data.
Tiga tools populer untuk file transfer adalah:
Semua tools ini menggunakan protokol SSH, sehingga aman karena terenkripsi.
scp
digunakan untuk menyalin file antar host melalui SSH.
# Copy file ke remote server
scp file.txt user@server:/home/user/
# Copy file dari remote ke lokal
scp user@server:/home/user/file.txt /local/path/
# Copy folder secara rekursif
scp -r myfolder user@server:/home/user/
rsync
digunakan untuk sinkronisasi file/direktori, lebih efisien karena hanya menyalin perubahan (delta).
# Sinkronisasi folder ke remote
rsync -avz myfolder/ user@server:/home/user/myfolder/
# Sinkronisasi dari remote ke lokal
rsync -avz user@server:/home/user/myfolder/ /local/myfolder/
# Hanya update perubahan baru
rsync -avzu myfolder/ user@server:/home/user/myfolder/
# Gunakan port custom
rsync -avz -e "ssh -p 2222" myfolder/ user@server:/home/user/
sftp
adalah mode interaktif untuk transfer file via SSH, mirip FTP tapi lebih aman.
# Login ke remote server
sftp user@server
# Perintah di dalam sftp:
ls # lihat isi folder remote
cd /path # pindah folder remote
lcd /path # pindah folder lokal
get file.txt # download file
put file.txt # upload file
mget *.log # download banyak file
mput *.log # upload banyak file
bye # keluar
Gunakan key-based authentication
Hindari password, lebih aman pakai SSH key.
Gunakan rsync untuk backup rutin
Karena mendukung delta transfer & resume.
Gunakan scp untuk transfer cepat satu kali
Misalnya copy konfigurasi atau file kecil.
Gunakan sftp untuk mode interaktif
Cocok untuk manajemen file manual di remote.
Kompresi sebelum transfer
tar czf data.tar.gz myfolder/
scp data.tar.gz user@server:/backup/
Batasi bandwidth rsync
rsync --bwlimit=5000 -avz myfolder/ user@server:/home/user/
Gunakan port non-standar jika SSH dipindahkan
scp -P 2222 file.txt user@server:/home/user/
Pilih tool sesuai kebutuhan, dan pastikan keamanan dengan SSH key, enkripsi, serta pembatasan akses yang tepat.