Rsync adalah tool untuk transfer dan sinkronisasi file atau tree
(struktur direktori dan file) secara satu arah, baik transfer lokal
(di sistem yang sama) maupun remote (jaringan/internet). Fungsi rsync
mirip/identik dengan tool-tool ini: cp, mv, scp, FTP client. Rsync
biasanya digabungkan dengan SSH sebagai metode transpor remotenya,
walaupun dapat juga disetup untuk menjadi daemon sehingga tidak
membutuhkan SSH. Dalam kasus-kasus tertentu rsync juga dapat digunakan
menggantikan HTTP client (seperti wget).
Keunggulan
dari rsync adalah irit bandwidth karena dapat meminimalisasi jumlah
data yang ditransfer dengan melalukan pengecekan perbandingan checksum
terhadap blok-blok dalam file, cepat karena dapat melakuukan pipelining,
dan fleksibel karena dapat memilih untuk menghapus file/direktori yang
sudah tidak ada pada pengirim tetapi masih ada pada pada penerima.
Sintaks dasar rsync
|
rsync -av PATHSUMBER/ PATHTUJUAN/
|
Menghapus berkas di /tujuan/ yang tidak ada di /sumber/ gunakan:
|
rsync -av --delete /PATHSUMBER/ /PATHTUJUAN/
|
Jika penghapusan hanya boleh setelah penyalinan sukses:
|
rsync -av --delete --delete-after /PATHSUMBER/ /PATHTUJUAN/
|
jika ada file yang tidak ingin di copy
|
rsync -av --exclude 'namafile.txt' /PATHSUMBER/ /PATHTUJUAN/
|
Untuk transfer lokal ke lokal
|
rsync -av -P PATHSUMBER PATHTUJUAN
|
Untuk transfer lokal ke remote melalui ssh
|
rsync -e ssh -av -P -z PATHSUMBER USER@HOST:PATHTUJUAN
|
Untuk transfer remote ke lokal melalui ssh, cukup kebalikan perintah sebelumnya:
|
rsync -e ssh -av -P -z USER@HOST:PATHSUMBER PATHTUJUAN
|