Sejarah, Manfaat, dan Cara Menggunakan
rsync adalah utilitas sinkronisasi file yang diperkenalkan pertama kali pada tahun 1996 oleh Andrew Tridgell dan Paul Mackerras. Tool ini dibuat untuk memudahkan transfer file antar komputer dengan cepat dan efisien. Keunggulannya terletak pada algoritma delta-transfer, yang hanya mengirimkan perbedaan (delta) dari file, bukan keseluruhan file. Hingga kini, rsync menjadi salah satu alat favorit sysadmin di dunia Linux/Unix.
Format umum perintah rsync
adalah:
rsync [opsi] sumber tujuan
rsync -avh /home/user/Documents/ /backup/Documents/
rsync -avz /home/user/ username@server:/home/username/backup/
rsync -avz username@server:/var/www/ /home/user/backup-www/
rsync -av --exclude="*.tmp" /project/ /backup/project/
Penjelasan opsi umum:
-a
: archive mode (menyimpan izin, symlink, timestamp, dll)-v
: verbose (menampilkan detail proses)-h
: human-readable (ukuran file lebih mudah dibaca)-z
: compress (lebih hemat bandwidth saat transfer)Kita bisa menggabungkan rsync
dengan cron
agar backup berjalan otomatis setiap hari.
#!/bin/bash
# backup-rsync-local.sh
# Backup folder Documents ke /backup harian
SRC="/home/user/Documents/"
DEST="/backup/Documents/"
LOGFILE="/var/log/rsync-backup-local.log"
rsync -avh --delete "$SRC" "$DEST" >> "$LOGFILE" 2>&1
0 2 * * * /home/user/backup-rsync-local.sh
Artinya: jalankan backup setiap hari pukul 02:00 dini hari.
Untuk backup jarak jauh, kita bisa menggunakan rsync
via SSH
dan menjadwalkannya dengan cron
.
Buat SSH key di client:
ssh-keygen -t ed25519 -C "user@client"
Lalu salin ke server:
ssh-copy-id username@server
#!/bin/bash
# backup-rsync-remote.sh
# Backup Documents ke server remote
SRC="/home/user/Documents/"
DEST="username@server:/home/username/backup/Documents/"
LOGFILE="/var/log/rsync-backup-remote.log"
rsync -avz --delete -e ssh "$SRC" "$DEST" >> "$LOGFILE" 2>&1
30 2 * * * /home/user/backup-rsync-remote.sh
Artinya: jalankan backup ke server remote setiap hari pukul 02:30 dini hari.
Dengan kombinasi ini, Anda bisa menjaga backup baik di mesin lokal maupun server remote secara otomatis dan terjadwal.