Skip to content
VDS · Akses mesin

scp dan rsync: menyalin file

Dua perintah untuk mentransfer file antara komputer Anda dan server: kapan scp cukup, apa kegunaan rsync, dan cara agar tidak menimpa direktori orang lain karena garis miring di akhir.

Diperbarui 23 Agustus 2026

Klien grafis memang praktis untuk pengeditan sekali pakai, tetapi deployment dan backup lebih mudah dilakukan dengan satu perintah.

scp: penyalinan sekali pakai

Sintaksnya sama seperti cp, hanya saja dengan alamat mesin:

scp dump.sql root@203.0.113.10:/root/
scp root@203.0.113.10:/var/log/nginx/error.log ./
scp -r ./site root@203.0.113.10:/var/www/

Perintah pertama mengirim file, perintah kedua menariknya kembali, perintah ketiga menyalin seluruh direktori (-r).

Jika SSH berjalan di port yang berbeda, tentukan dengan -P huruf kapital:

scp -P 2222 dump.sql root@203.0.113.10:/root/

Dengan file ~/.ssh/config, perintahnya jadi lebih singkat: scp dump.sql vds:/root/.

rsync: sinkronisasi

rsync hanya mentransfer perbedaannya, dapat melanjutkan transfer yang terputus, dan menampilkan progres. Untuk deployment berulang, ini jauh lebih cepat.

rsync -avz --progress ./site/ root@203.0.113.10:/var/www/example.com/
FlagFungsinya
-aMempertahankan permission, timestamp, link
-vMenampilkan daftar file
-zMengompresi aliran data
--progressMenampilkan progres transfer
--deleteMenghapus di mesin apa pun yang tidak Anda miliki
--excludeMelewati apa pun yang tidak diperlukan

Contoh deployment yang bersih:

rsync -avz --delete \
  --exclude '.git' --exclude 'node_modules' --exclude '.env' \
  ./site/ vds:/var/www/example.com/

Tarik salinannya dari mesin ke sisi Anda:

rsync -avz vds:/root/backup-2026-08-23.tar.gz ./backups/

Garis miring di akhir sumber berarti "isi direktorinya". ./site/ menaruh file di dalam target, ./site membuat subdirektori site di dalam target. Separuh dari semua deployment yang "hilang" disebabkan oleh hal ini.

Berhati-hatilah dengan --delete

Flag --delete membuat direktori di mesin menjadi salinan persis milik Anda: apa pun yang berlebih akan dihapus tanpa bertanya. Lakukan uji coba (dry run) terlebih dahulu:

rsync -avzn --delete ./site/ vds:/var/www/example.com/

Flag -n hanya menunjukkan apa yang akan terjadi. Setelah Anda yakin, hapus n-nya.

Kecepatan

Kecepatan disk dibatasi per tier: penulisan 60 MB/s per core (tidak kurang dari 60 dan tidak lebih dari 400), pembacaan dua kali lipatnya, dan burst tiga kali batas tersebut bertahan selama 30 detik. Bandwidth jaringan hingga 500 Mbit/s. Di VDS-1, mengunggah arsip besar akan menyentuh batas penulisan, dan itu wajar, bukan kegagalan. Untuk memeriksa apa yang terjadi:

df -h
iostat -x 2

Kesalahan umum

GejalaPenyebab
Permission deniedAnda menulis ke direktori yang bukan milik pengguna Anda — masuk sebagai root atau ubah owner-nya
No such file or directoryDirektori tidak ada di mesin dan scp tidak akan membuatnya: jalankan mkdir -p terlebih dahulu
File mendarat satu level lebih tinggiGaris miring di akhir path yang hilang atau berlebih
rsync: command not foundPasang paketnya di kedua sisi: apt install -y rsync
Situs mengembalikan 403 setelah deploymentOwner belum diatur: chown -R www-data:www-data /var/www/example.com

Jika Anda lebih suka klien grafis, lihat mentransfer file melalui SFTP.