Membuat Backup Blog dengan rsync
Saya spill ya bro, bahwa mainan Server Linux, walaupun kita tempatkan di server kacang STB HG680P, tapi memberikan pengalaman yang sangat kaya.
Setelah membuat blog, mengonlinekannya di dunia maya, maka yang perlu anda lakukan adalah backup.
Bagaimana jika suatu saat disk systemmu corupt? Atau systemmu crash? maka apa yang kamu buat menjadi sia-sia. Data sekian lama akan hilang.
Ya, saya akan membuat backup untuk blog ini. Blog ini berada pada Disk A (yg sebenarnya hanya berupa sdcard) dan akan saya copy di Disk B ( yg berupa HDD 2.5)
Saya menggunakan rsync untuk membackup file karena rsync bisa menyelaraskan 2 folder. Sedangkan databasenya dibackup menggunakan mysqldump
#!/bin/bash # mensinkronkan folder-folder rsync -avz /var/www/domain.com/ /backup/domain.com/www --delete #membackup database mysql mysqldump -uwordpress -prahasia wordpress | gzip > /backup/domain.com/database/wordpress-$(date +%d%m%Y).sql.gz
dengan penjelasan sbb:
rsync -avz /var/www/domain.com/ /backup/domain.com/www --delete
:- Perintah
rsync
digunakan untuk menyalin dan mensinkronkan file dan direktori antara dua lokasi. - Dalam kasus ini, perintah ini menyalin isi dari direktori
/var/www/domain.com/
ke direktori tujuan/backup/domain.com/www
. - Opsi
-avz
menentukan:-a
: Mode arsip, mempertahankan atribut file seperti izin dan tanda waktu.-v
: Menampilkan output secara terperinci.-z
: Mengaktifkan kompresi selama transfer.
- Opsi
--delete
menginstruksikanrsync
untuk menghapus file di direktori tujuan yang tidak ada di direktori sumber, sehingga menjaga agar direktori tujuan selalu sama dengan direktori sumber.
- Perintah
mysqldump -uwordpress -prahasia wordpress | gzip > /backup/domain.com/database/wordpress-$(date +%d%m%Y).sql.gz
:- Perintah
mysqldump
digunakan untuk membuat salinan dari database MySQL. - Dalam kasus ini, perintah ini menciptakan salinan database WordPress.
-uwordpress -prahasia
adalah opsi untuk menentukan pengguna dan kata sandi yang digunakan untuk mengakses database MySQL. Di sini, pengguna adalah ‘wordpress’ dan kata sandinya adalah ‘rahasia’.wordpress
adalah nama database yang akan disalin.- Output dari
mysqldump
kemudian diteruskan ke perintahgzip
untuk mengompresinya. - Hasil dari kompresi tersebut disimpan di
/backup/domain.com/database/
dengan nama filewordpress-$(date +%d%m%Y).sql.gz
, di mana bagian$(date +%d%m%Y)
digunakan untuk menambahkan tanggal saat ini ke nama file dalam format “DDMMYYYY”.
- Perintah
Apabila backup kamu tempatkan di server berbada maka kamu bisa menggunakan perintah sbb:
#!/bin/bash # Menjalankan rsync untuk menyalin file dari /var/www/domain.com/ ke server tujuan rsync -avz /var/www/domain.com/ user@serverB:/backup/domain.com/www --delete # Menjalankan mysqldump untuk membuat salinan database dan menyimpannya dalam file lokal mysqldump -uwordpress -prahasia wordpress | gzip > /backup/domain.com/database/wordpress-$(date +%d%m%Y).sql.gz # Mentransfer file database ke server tujuan menggunakan scp scp /backup/domain.com/database/wordpress-$(date +%Y%m%d).sql.gz user@serverB:/backup/domain.com/database/
Kalau sudah selesai kita tinggal melakukan crontab setiap jam 12 malam. lakukan perintah sudo crontab -e.
Lalu masukkan skrip dibawah
0 0 * * * /bin/bash /backup/backup.sh
Ok Enjoy backup 🙂