Auto backup / sinkron secara otomatis :
- file belum ada → copy
- file ada tetapi berubah → update
- file sama → tidak dikirim ulang
- folder baru → copy
- file yang tidak berubah → dilewati
Server 1 ip 192.168.1.8
Server 2 ip 192.168.1.5
Crontab dijalankan di server 192.168.1.5
1. Install rsync di 192.168.1.5
dnf install -y rsync openssh-clients
2. Tes koneksi dari 192.168.1.5 ke 192.168.1.8
ssh admin@192.168.1.8
Password:
narasumber01
Kalau berhasil masuk, keluar:
exit
3. Buat script sinkronisasi di 192.168.1.5:
mkdir -p /root/scripts
vi /root/scripts/sync_hrd_files.sh
- isi :
#!/bin/bash
SOURCE="admin@192.168.1.8:/DISK4/web/hrd.cardinal.id/filesimages/"
DEST="/home/public_html/hrd.cardinal.id/filesimages/"
LOG="/var/log/sync_hrd_files.log"
mkdir -p "$DEST"
echo "===== $(date '+%Y-%m-%d %H:%M:%S') =====" >> "$LOG"
sshpass -p 'narasumber01' rsync -av \
"$SOURCE" "$DEST" >> "$LOG" 2>&1
4. Install sshpass
dnf install -y sshpass
- Beri permission:
chmod 700 /root/scripts/sync_hrd_files.sh
- Tes manual:
/root/scripts/sync_hrd_files.sh
- Lihat hasilnya:
tail -50 /var/log/sync_hrd_files.log
5. Crontab setiap 15 menit
crontab -e
- Tambahkan:
*/15 * * * * /root/scripts/sync_hrd_files.sh
Scripts akan dijalankan setiap 15 menit.