Cara Menggunakan Rsync di Linux: 7 Contoh Praktis untuk Backup dan Sinkronisasi File
Pernah menyalin folder berisi ribuan file dengan cp, lalu keesokan harinya harus mengulanginya lagi hanya karena ada beberapa file yang berubah? Prosesnya lama dan membosankan. Di sinilah rsync menunjukkan kehebatannya.
Rsync adalah utilitas baris perintah di Linux untuk menyalin dan menyinkronkan file, baik di dalam satu komputer maupun antar komputer melalui jaringan. Keunggulan utamanya: rsync hanya mengirim bagian file yang berubah. Salinan pertama memakan waktu seperti biasa, tetapi salinan berikutnya jauh lebih cepat karena hanya perubahan kecil yang ditransfer. Inilah alasan rsync menjadi standar untuk backup server dan sinkronisasi website.
Bagi pemilik UMKM, rsync sangat berguna untuk mencadangkan folder dokumen, foto produk, atau isi website ke hard disk eksternal maupun server lain. Artikel ini membahas cara menggunakan rsync di Linux lewat 7 contoh praktis yang bisa langsung kamu coba — pastikan rsync sudah terpasang dengan rsync --version, atau pasang di Ubuntu/Debian dengan sudo apt install rsync.
1. Menyalin File dan Folder di Komputer yang Sama
Penggunaan paling sederhana dari rsync adalah menyalin file dari satu folder ke folder lain di komputer yang sama. Misalnya kamu ingin menyalin seluruh isi folder dokumen ke hard disk eksternal yang terpasang di /media/backup:
rsync -av /home/andi/dokumen/ /media/backup/dokumen/
Dua hal penting perlu diperhatikan. Pertama, garis miring di akhir sumber (dokumen/) berarti “salin isi folder ini”. Kalau dihilangkan, rsync justru membuat subfolder baru bernama dokumen di dalam tujuan, sehingga hasilnya menjadi /media/backup/dokumen/dokumen/. Kedua, folder tujuan yang belum ada akan dibuat otomatis oleh rsync.
Untuk satu file saja, caranya sama sederhananya:
rsync -v /home/andi/laporan.pdf /media/backup/
2. Sinkronisasi Folder dengan Mode Arsip (-a)
Menyalin satu kali saja belum cukup. Yang membuat rsync istimewa adalah kemampuannya menyinkronkan: menjalankan perintah yang sama kedua kalinya hanya menyalin file yang baru atau berubah, sisanya dilewati. Inilah yang membuat backup rutin menjadi sangat cepat.
Kuncinya adalah opsi -a (archive): satu paket yang mengaktifkan penyalinan rekursif sekaligus menjaga izin file, pemilik, waktu modifikasi, dan tautan simbolik tetap sama. Tanpa -a, waktu modifikasi tidak dipertahankan, sehingga rsync menganggap semua file berubah dan menyalinnya ulang setiap kali.
rsync -a /home/andi/dokumen/ /media/backup/dokumen/
Contoh nyata untuk UMKM: setiap sore kamu menjalankan perintah di atas untuk mencadangkan folder berisi invoice, katalog produk, dan foto ke hard disk eksternal. Hari pertama, semua file tersalin. Hari-hari berikutnya, hanya invoice baru dan foto produk yang diperbarui yang ikut tersalin — prosesnya selesai dalam hitungan detik.
3. Memahami Opsi -a, -v, -z, dan –delete
Empat opsi ini adalah yang paling sering dipakai, jadi pahami fungsinya sebelum menggabungkannya:
-a(–archive) — mode arsip: menyalin folder beserta isinya secara rekursif sambil mempertahankan izin, pemilik, waktu modifikasi, dan tautan simbolik. Gunakan ini hampir di setiap perintah rsync.-v(–verbose) — menampilkan daftar file yang sedang disalin di layar, sehingga kamu bisa melihat prosesnya berjalan. Tambahkan-vvkalau butuh rincian lebih banyak.-z(–compress) — memampatkan data selama pengiriman. Opsi ini sangat membantu saat mentransfer lewat jaringan yang lambat, tetapi tidak ada gunanya untuk salinan lokal antar folder di disk yang sama.--delete— menghapus file di tujuan yang sudah tidak ada lagi di sumber, sehingga tujuan menjadi cerminan persis dari sumber. Opsi ini yang membuat sinkronisasi benar-benar “sinkron”, bukan sekadar menumpuk file.
Gabungan yang paling umum untuk backup lokal adalah:
rsync -av --delete /home/andi/dokumen/ /media/backup/dokumen/
Perhatian: opsi --delete bersifat permanen dan tidak bisa dibatalkan. Kalau kamu salah menulis alamat sumber atau tujuan, file di folder tujuan bisa terhapus massal. Jangan pernah memakai --delete tanpa menguji perintahnya terlebih dahulu — dan di situlah contoh nomor 4 berperan.
4. Uji Dulu dengan –dry-run sebelum Menjalankan Perintah Berisiko
Opsi -n atau --dry-run membuat rsync hanya berpura-pura bekerja: ia menampilkan apa saja yang akan disalin atau dihapus, tanpa benar-benar mengubah satu file pun. Anggap saja ini latihan sebelum pertunjukan sesungguhnya.
rsync -avn --delete /home/andi/dokumen/ /media/backup/dokumen/
Perhatikan huruf n di antara -a dan -v. Jalankan perintah ini, baca keluarannya dengan teliti, dan pastikan tidak ada file penting yang ditandai akan dihapus — baris yang diawali kata deleting menunjukkan file yang akan dihapus dari tujuan. Kalau semuanya benar, jalankan lagi perintah yang sama tanpa -n.
Jadikan --dry-run sebagai kebiasaan wajib, terutama saat pertama kali mencoba perintah baru atau saat perintahmu mengandung --delete. Lima detik tambahan untuk memeriksa bisa menyelamatkan data yang tidak ternilai harganya.
5. Backup ke Server Lain lewat SSH
Rsync juga bekerja lewat jaringan dengan bantuan SSH, tanpa perlu memasang layanan tambahan di server tujuan. Selama SSH aktif dan rsync terpasang di kedua sisi, kamu bisa mengirim backup ke server lain dengan perintah yang hampir sama seperti salinan lokal.
rsync -avz /home/andi/dokumen/ andi@192.168.1.50:/backup/dokumen/
Penjelasannya: -a menjaga izin dan waktu file tetap utuh, -v menampilkan prosesnya, dan -z memampatkan data selama pengiriman. Bagian andi@192.168.1.50 adalah nama pengguna dan alamat server tujuan, sedangkan /backup/dokumen/ adalah folder penyimpanannya di server. Kamu akan diminta memasukkan kata sandi SSH sebelum transfer dimulai.
Arus sebaliknya juga bisa: menarik file dari server ke komputermu. Ini berguna saat kamu ingin mengunduh cadangan website dari server ke laptop:
rsync -avz andi@192.168.1.50:/var/www/html/ /home/andi/backup-website/
Supaya tidak perlu mengetik kata sandi setiap kali, siapkan kunci SSH dengan ssh-keygen lalu salin kunci publiknya ke server dengan ssh-copy-id. Langkah ini juga menjadi syarat agar backup otomatis di contoh nomor 7 bisa berjalan sendiri.
6. Mengecualikan File yang Tidak Perlu dengan –exclude
Tidak semua file layak dicadangkan. File log, file sementara, dan folder cache hanya memboroskan ruang dan waktu transfer. Opsi --exclude memungkinkanmu melewati file atau folder tertentu berdasarkan pola namanya.
rsync -av --delete --exclude='*.log' --exclude='cache/' /home/andi/website/ /media/backup/website/
Perintah di atas mencadangkan folder website tetapi melewati semua file .log dan seluruh isi folder cache. Kamu bisa menulis beberapa --exclude sekaligus; polanya relatif terhadap folder sumber.
Kalau daftar pengecualiannya panjang, simpan saja polanya dalam sebuah file teks, satu pola per baris, lalu rujuk file itu dengan --exclude-from:
rsync -av --delete --exclude-from=pengecualian.txt /home/andi/website/ /media/backup/website/
Isi contoh file pengecualian.txt:
*.log cache/ node_modules/ .git/
Cara ini membuat perintah backup tetap pendek dan mudah dibaca, sekaligus memudahkanmu memperbarui daftar pengecualian tanpa mengubah perintahnya.
7. Otomatisasi Backup Harian dengan Cron
Backup manual pasti akan terlupakan suatu hari. Solusinya adalah menjadwalkan rsync lewat cron, penjadwal tugas bawaan Linux. Pertama, buat skrip kecil berisi perintah backup, misalnya di /home/andi/backup.sh:
#!/bin/bash rsync -av --delete /home/andi/dokumen/ /media/backup/dokumen/ >> /home/andi/backup.log 2>&1
Beri izin eksekusi pada skrip tersebut, lalu buka penjadwal cron dengan crontab -e dan tambahkan baris berikut untuk menjalankan backup setiap hari pukul 02.00 dini hari:
0 2 * * * /home/andi/backup.sh
Angka 0 2 * * * berarti menit ke-0, jam ke-2, setiap hari. Hasil backup dicatat ke backup.log, sehingga kamu bisa memeriksa apakah ada file yang gagal tersalin. Pastikan kunci SSH sudah disiapkan seperti pada contoh nomor 5 kalau tujuan backupmu server lain, karena cron tidak bisa mengetikkan kata sandi untukmu.
Kesalahan Umum yang Perlu Dihindari
Tiga kesalahan berikut paling sering dialami pemula. Pertama, lupa garis miring di akhir sumber sehingga folder bersarang dua kali. Kedua, memakai --delete tanpa --dry-run — satu kesalahan ketik pada alamat tujuan bisa menghapus data yang seharusnya aman. Ketiga, menukar sumber dan tujuan: rsync selalu menyalin dari kiri ke kanan, jadi alamat kiri harus data aslimu dan alamat kanan tempat backup.
Satu catatan tambahan: rsync menyinkronkan file, bukan membuat riwayat versi. Kalau sebuah file terhapus di sumber, salinan backupnya pun akan ikut terhapus pada proses sinkronisasi berikutnya. Untuk perlindungan ekstra, kombinasikan rsync dengan opsi --backup-dir atau simpan salinan berkala di lokasi terpisah.
Kesimpulan
Rsync terlihat sederhana, tetapi kemampuannya jauh melampaui perintah salin biasa. Dengan tujuh contoh di atas — salin file lokal, sinkronisasi folder, opsi -a, -v, -z, dan --delete, --dry-run, backup lewat SSH, --exclude, sampai otomatisasi cron — kamu sudah punya bekal lengkap untuk membangun sistem backup yang andal.
Mulailah dari yang paling sederhana: cadangkan folder dokumenmu ke hard disk eksternal. Setelah terbiasa, tambahkan backup ke server dan jadwal otomatis. Data bisnis yang tercadangkan dengan baik adalah salah satu investasi termurah yang bisa dilakukan pemilik UMKM — dan rsync membuatnya nyaris tanpa biaya.