Bagaiamana perintah bash, untuk melakukan restore mysql.sql.zip yang ada pada beberapa folder untuk direstore ke beberapa database ?
Bismillah
q> Begini maksudnya :)
q> Ada 1 kantor pusat, ada beberapa kantor cabang
q> Setiap cabang setiap hari mengirimkan backup transaksi perhari (incremental backup) lewat protokol SSH
q> Pada kantor pusat semua data terkumpul pada 1 komputer ubuntu server
q> Semua cabang mempunyai aplikasi yang mengakses nama database yang sama, misalnya aplikasi_cabang
q> Sedangkan pada kantor pusat nama database akan menjadi aplikasi_cabang_2ng, aplikasi_cabang_b6r dst.
q> Contoh struktur folder pada server kantor pusat, beserta file backupnya (sql.zip)

q> Untuk file 2014_02_22.sql.zip pada folder 2ng, ini akan di-restore ke database aplikasi_cabang_2ng
q> Untuk file 2014_02_22.sql.zip pada folder b6r, ini akan di-restore ke database aplikasi_cabang_b6r
q> dan seterusnya :)
q> berikut perintah untuk mengerajakan restore database secara looping
[sourcecode language="bash"]#!/bin/bash
#variabel SATU mundur tanggal satu hari dari tanggal sekarang
SATU=1
DATE=$(date "--date=${dataset_date} -${SATU} day" +%Y_%m_%d)
EXT=.sql.zip
NAMAFILE=$DATE$EXT
echo $NAMAFILE
for i in $( find -iname *$NAMAFILE* ); do
echo restore file : $i
zcat $i | mysql -uroot -pPasswordR00t --force
done[/sourcecode]
q> Pada skrip di atas yang perlu disesuaikan ada password mysql untuk user root (PasswordR00t)
q> simpan skrip di atas dengan nama looping.sh

q> kasih hak akases untuk bisa dieksekusi file tersebut dengan perintah
[sourcecode language="bash"]chmod a+x looping.sh[/sourcecode]
q> Untuk menjalankannya gunakan perintah ini
[sourcecode language="bash"]sh looping.sh[/sourcecode]
q> Berhasil
Alhamdulillah
No comments:
Post a Comment