Untuk contoh kasus, saya masih menggunakan topologi sederhana seperti diatas, dimana server SRIWIJAYA akan membackup file dan menyimpannya secara remote di server PAJAJARAN.
Disini, rsync akan saya jalankan di server tujuan (PAJAJARAN) untuk
melakukan aksi sinkronisasi terjadwal terhadap file yang ada di server
SRIWIJAYA. Untuk membangun system backup ini saya akan membaginya
kedalam beberapa tahap, yakni:
- Login dengan rsa-key (tanpa password) dari server PAJAJARAN ke server SRIWIJAYA
- Membuat bash script pada server PAJAJARAN untuk melakukan sinkronisasi file dengan server SRIWIJAYA.
- Menambahkan script yang sudah dibuat kedalam cron job, dimana nantinya akan kita jadwalkan untuk menjalankan script setiap pukul 23:45
TAHAP PERTAMA sudah dilakukan dan kita bisa mengikuti tutorial sebelumnya
, yakni penggunaan rsa-key untuk login sshTAHAP KEDUA, kita akan membuat bash script untuk backup di server remote (PAJAJARAN)
Pertama, kita lakukan test untuk mengambil file backup dari server SRIWIJAYA. Perintah yang digunakan:
[root@PAJAJARAN ~]# rsync -avz root@192.168.1.101:/root/filedata /home/BACKUPCONFIG/sriwijaya
Dengan perintah diatas, kita akan mengambil filedata yang berada di
server SRIWIJAYA dan menempatkannya dilokasi
/home/BACKUPCONIG/sriwijaya. Untuk folder BACKUPCONFIG kita harus
membuatnya terlebih dahulu di server PAJAJARAN dengan mkdir. Sedangkan
untuk direktori sriwijaya akan dibuat secara otomatis oleh perintah
diatas.
Berikutnya, kita akan melakukan kompresi terhadap direktori yang sudah
di backup, dan memberikan nama file berdasarkan waktu. Misalnya nama
file backup yang kita kehendaki yakni : tahun-bulan-tanggal-namafile,
contohnya: 20140110-backup.tar.gz. Berikut perintah untuk melakukan
kompresi file backup tersebut:
[root@PAJAJARAN ~]# cd /home/BACKUPCONFIG/
[root@PAJAJARAN BACKUPCONFIG]# tar -czf 20140110-backup.tar.gz sriwijaya/
[root@PAJAJARAN BACKUPCONFIG]# ls
20140210-backup.tar.gz sriwijaya
Dari perintah diatas, kita harus masuk terlebih dahulu kedalam direktori
dimana hasil backup disimpan, dalam hal ini kita masuk ke direktori
BACKUPCONFIG.
Perintah :[root@PAJAJARAN BACKUPCONFIG]# tar -czf 20140110-backup.tar.gz sriwijaya/
Bisa diganti dengan :
[root@PAJAJARAN BACKUPCONFIG]# tar -czf $(date +%Y%m%d)-backup.tar.gz sriwijaya/
Setelah mencoba perintah diatas, kita akan membuat script untuk
menggabungkannya agar mempermudah dalam proses penjadwalan nantinya.
Kita buat script dengan nama myBackup.sh:
[root@PAJAJARAN ~]# nano myBackup.sh
Isi script myBackup.sh :
#!/bin/bash
#script by semoetz
#Step 1 : Sinkronisasikan file sumber
rsync -avz root@192.168.1.101:/root/filedata /home/BACKUPCONFIG/sriwijaya
#Step 2 : Masuk ke direktori BACKUPCONFIG
cd /home/BACKUPCONFIG
#Step 3 : lakukan kompresi terhadap file yang sudah di backup
tar -czf $(date +%Y%m%d)-backup.tar.gz sriwijaya/
#Step 4 (optional) : Hapus folder sriwijaya untuk menghemat space
rm -rf sriwijaya
Ubah hak akses agar dapat dieksekusi:
[root@PAJAJARAN ~]# chmod a+x myBackup.sh
Lakukan pengujian script :
[root@PAJAJARAN ~]# ./myBackup.sh
receiving incremental file list
created directory /home/BACKUPCONFIG/sriwijaya
filedata/
filedata/configacl.txt
filedata/configrouter.txt
filedata/configssh.txt
sent 72 bytes received 297 bytes 246.00 bytes/sec
total size is 63 speedup is 0.17
Apabila output seperti diatas, maka kita telah berhasil menjalankan
script dengan benar, dan kita bisa memeriksanya dengan perintah:
[root@PAJAJARAN ~]# ls /home/BACKUPCONFIG/
20140131-backup.tar.gz
TAHAP KETIGA, kita akan membuat system backup dengan cron:
Dari contoh kasus diatas, kita akan melakukan backup file setiap hari
pada pukul 23:45. Kita akan menggunakan cron dengan perintah:
[root@PAJAJARAN ~]# crontab –e
Kita masukkan script myBackup.sh kedalam cron, dengan parameter sebagai berikut:
#Backup setiap hari pukul 23:45
45 23 * * * /root/myBackup.sh
Restart service crond, dengan perintah:
[root@PAJAJARAN ~]# service crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
Sampai tahap ini, proses membangun system backup secara otomatis sudah
dibuat. Jangan lupa untuk melakukan pemeriksaan terhadap file yang sudah
kita backup, apakah berhasil atau tidak. Tutorial ini adalah versi
otodidak dari penulis, mungkin diluar sana masih banyak berbagai cara
yang lebih terstruktur dan bisa dipelajari sesuai kebutuhan kita.