Tutorial rsync

Sejarah, Manfaat, dan Cara Menggunakan

Sejarah Singkat rsync

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.

Manfaat rsync

Cara Menggunakan rsync

Format umum perintah rsync adalah:

rsync [opsi] sumber tujuan

1. Sinkronisasi Direktori Lokal

rsync -avh /home/user/Documents/ /backup/Documents/

2. Transfer ke Server via SSH

rsync -avz /home/user/ username@server:/home/username/backup/

3. Mirror Server ke Lokal

rsync -avz username@server:/var/www/ /home/user/backup-www/

4. Backup dengan Exclude

rsync -av --exclude="*.tmp" /project/ /backup/project/

Penjelasan opsi umum:

Workflow Backup Otomatis dengan cron + rsync (Lokal)

Kita bisa menggabungkan rsync dengan cron agar backup berjalan otomatis setiap hari.

1. Buat Skrip Backup Lokal

#!/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

2. Tambahkan ke Cron

0 2 * * * /home/user/backup-rsync-local.sh

Artinya: jalankan backup setiap hari pukul 02:00 dini hari.

Workflow Backup Otomatis ke Server Remote (SSH + cron)

Untuk backup jarak jauh, kita bisa menggunakan rsync via SSH dan menjadwalkannya dengan cron.

1. Setup SSH Key (Opsional tapi Disarankan)

Buat SSH key di client:

ssh-keygen -t ed25519 -C "user@client"

Lalu salin ke server:

ssh-copy-id username@server

2. Buat Skrip Backup Remote

#!/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

3. Tambahkan ke Cron

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.

times;