Rsync adalah utility/tool terminal command keren, andal dan serbaguna untuk mengcopy-paste, transfer dan menyinkronkan file dan direktori antara dua lokasi, baik lokal maupun jarak jauh. Ini adalah tool pilihan bagi pengguna Linux karena kecepatan, efisiensi, dan keandalannya.
Bagaimana Cara Kerja Rsync?
Rsync menggunakan algoritma transfer yang “smart” untuk transfer/copy/paste hanya antara file sumber dan tujuan yang berbeda, sehingga menghemat waktu dan bandwidth. Ini membuatnya sangat efisien untuk transfer file besar atau sekedar pada file/folder yang tidak berubah banyak.
Fitur Utama Rsync
- Transfer file lokal dan remote jarak jauh: Dapat menyalin file antara komputer lokal, server jarak jauh, atau kombinasi keduanya.
- Sinkronisasi: Menjaga direktori tetap sinkron dengan membuat atau memperbarui file yang diperlukan, menghapus file yang tidak ada lagi, dan mempertahankan struktur direktori.
- Kompresi data: Mengompresi data selama transfer untuk mengurangi ukuran file dan meningkatkan kecepatan.
- Verifikasi integritas: Memastikan bahwa file yang ditransfer dengan benar tanpa kesalahan.
- Support SSH: Dapat menggunakan SSH untuk koneksi yang aman ke server jarak jauh.
Kegunaan Rsync
- Backup data: Membuat cadangan data secara incremental dengan hanya mentransfer file yang berubah.
- Sinkronisasi file: Menjaga beberapa lokasi dengan salinan file yang sama.
- Distribusi file: Mendistribusikan file ke beberapa server atau klien.
- Transfer file besar: Menyalin file besar dengan efisiensi tinggi.
Contoh Penggunaan Perintah Rsync
Menyalin semua file dari direktori lokal ke direktori lain
rsync -av /sumber /tujuan
-a
: Menyalin semua atribut file (hak akses, pemilik, waktu, dll.) secara rekursif.-v
: Menampilkan output verbose (detail) dari proses sinkronisasi./sumber
: Direktori asal yang ingin disalin./tujuan
: Direktori tujuan untuk menyimpan salinan file.
Menyalin sile secara incremental
rsync -avz --delete /sumber/ user@server:/tujuan/
-z
: Mengompresi data selama transfer untuk menghemat bandwidth.--delete
: Menghapus file di direktori tujuan yang tidak ada di direktori sumber.user@server:/tujuan/
: Spesifikasi direktori tujuan pada server jarak jauh.
Menyalin File Tertentu
rsync -av /sumber/*.txt /tujuan/
Hanya akan menyalin file dengan ekstensi .txt.
Menyalin File dengan Pengecualian
rsync -av --exclude='*.log' /sumber/ /tujuan/
Menyalin semua file kecuali file dengan ekstensi .log.
Sinkronisasi dengan SSH
rsync -avz -e ssh user@server:/home/user/data/ /local/backup/
Menggunakan SSH untuk koneksi yang aman ke server jarak jauh.
Opsi Tambahan yang Berguna
--progress
: Menampilkan progress bar selama transfer.--times
: Menyalin timestamps (waktu modifikasi) file.--perms
: Menyalin permissions (hak akses) file.--owner
: Menyalin kepemilikan file.--group
: Menyalin grup kepemilikan file.
Tips
- Gunakan
--dry-run
untuk melihat apa yang akan dilakukan rsync tanpa benar-benar melakukan transfer. Contoh:rsync -av --dry-run /sumber/ /tujuan/
. - Periksa log untuk melihat detail proses sinkronisasi.
- Buat script untuk melakukan sinkronisasi secara otomatis.
- Perhatikan penggunaan sumber daya (CPU, memori, bandwidth) saat melakukan sinkronisasi file besar.
Penting: Selalu backup data Anda sebelum melakukan perubahan besar menggunakan rsync atau perintah Linux lainnya.