Menu Close

Backup dengan memakai RSync pada Debian

Kali ini saya akan membuat sebuah tutorial melakukan Backup antar server Linux dengan mempergunakan RSync
Server A adalah web server utama berisi semua file-file website.
Server B adalah web server cadangan yang bertugas melakukan backup dari Server A ke Server B

Rsync saya perlukan untuk proses backup antar server saya, sehingga apabila ada masalah dengan server utama, saya tinggal mengganti DNS agar mengarah ke server cadangan. Syarat rsync kali ini adalah jika kita sudah bisa Login dari Server B ke Server A tanpa mempergunakan password.
Karena semua server saya pada saat ini adalah berbasis Debian, maka berikut adalah langkah-langkahnya :
1. Login ke Server A
2. Melakukan instalasi Rsync dengan mempergunakan perintah berikut :

# apt-get clean
# apt-get install rsync
# exit

3. Login ke Server B
2. Melakukan instalasi Rsync dengan mempergunakan perintah berikut :

# apt-get clean

# apt-get install rsync
4. Melakukan pembuatan database dan juga mengijinkan user untuk mengakses database tersebut karena belum ada

Untuk memastikan kita bisa masuk ke MySQL server dengan user dan password tadi, maka :

5. Melakukan rsync untuk menduplikasi isi dari direktory html dari Server A ke Server B :

Jika Port SSH sudah diganti selain Port 22, maka berikut adalah perintahnya :

Kalau hanya untuk membackup website statik, langkah ini sudah cukup 🙂
6. Melakukan backup Database MySQL dari Server A ke Server B :

7. Melakukan import Database Backup dari Server A ke Server B :

Setelah mengikuti semua langkah-langkah di atas, maka pada Server B di direktory /var/www/www.erawanarifnugroho.com akan tercipta sebuah direktory dengan isi yang sama dengan Server A.
Untuk automatisasi proses backup website dengan rsync pada tiap hari, tengah malam, Anda tinggal menambahkan script-script diatas pada cron.
Pada Debian, secara default nano belum terinstall. Karena editor kesukaan saya adalah nano, maka kita install nano terlebih dahulu.

# apt-get install nano

Kemudian kita buat sebuah script yang berisi perintah untuk rsync sebagai berikut :

# nano /script_backup

Isi dengan perintah berikut :

#! /bin/sh
rsync -avzpog -e ‘ssh -p 2803’ root@174.xxx.xxx.xxx:/home/usersatu  /home/
rsync -avzpog -e ‘ssh -p 2803’ root@174.xxx.xxx.xxx:/home/foldersatu  /home/

Untuk menyimpannya, tekan Ctrl + O
Untuk keluar dari nano, tekan Ctrl + X
Sekarang kita mengatur konfigurasi crontab. Karena saya hanya akan mempergunakan nano sebagai editor, maka saya akan merubah editor dari vi ke nano :

# export EDITOR=/usr/bin/nano

Kemudian edit isi dari crontab :

# crontab -e

Masukkan kode berikut :

# m h dom mon dow command
30 * * * * sh /root/script_backup

Untuk menyimpan, tekan Ctrl + O
Untuk keluar, tekan Ctrl + X
Maksud dari crontab di atas adalah, setiap menit ke 30, script remote_backup yang tadi kita buat, akan dijalankan. Dan script remote_backup tadi, akan mensyncronisasikan file dari server utama, ke server backup.
Kalau ingin script dijalankan setiap hari jam 12 malam, maka :

0  12 *  *  *  sh /root/script_backup

Leave a Reply

Your email address will not be published. Required fields are marked *