Minggu, 04 Desember 2011

Script Backup Restore Database menggunakan Framework CI

Script Backup Restore Database menggunakan Framework CI


 
Latar Belakang
Sebagai utilitas dari aplikasi yang anda bangun jika membutuhkan fasilitas untuk backup atau restore sebuah database  yang sedang digunakan. saya asumsikan temen-teman sudah falimiar dengan framework CI. buat sebuah controller misalnya utilitas.php simpan di folder application/controllers
Script Backup
Jika didalam database anda terdapat tabel view, maka itu harus di hapus terlebih dahulu. silahkan buat metode pada sebuah model yg berfungsi untuk menghapus table view.
function backup(){
$this->Edit_model->hapus_view();
$this->load->helper(‘download’);
$tanggal=date(‘Ymd-His’);
$namaFile=$tanggal . ‘.sql.zip’;
$this->load->dbutil();
$backup=& $this->dbutil->backup();
force_download($namaFile, $backup);
}
sehingga jika nanti berhasil membackup database, maka akan keluar kotak dialog untuk menyimpan file backup database.
Script Restore
  • Sebelum melakukan restore anda harus extrak dahulu file zip yang tadi di download sehingga menjadi file misalnya 20110919-165636.sql
  • Diasumsikan file tersebut di simpat di root system
  • Sebagai alternatif, anda bisa membuat aplikasi upload file database yang akan di restore ke dalam folder yang sudah ditentukan misalnya folder backupdb
  • Setelah file berada di folder tersebut, maka script akan membaca file tersebut dan melakukan proses restore

function restore(){
//hapus dulu database jika proses restore gagal.
$this->Edit_model->hapus_db();
//upload dulu filenya
$fupload = $_FILES['datafile'];
 $nama = $_FILES['datafile']['name'];
if(isset($fupload)){
$lokasi_file = $fupload['tmp_name'];
$direktori=”backupdb/$nama“;
move_uploaded_file($lokasi_file,”$direktori”);
}
//restore database
$isi_file=file_get_contents($direktori);
$string_query=rtrim($isi_file, “\n;” );
$array_query=explode(“;”, $string_query);
foreach($array_query as $query){
$this->db->query($query);
}
$data['page']=’restore’;
$this->load->view(‘home’,$data);
}
Sekian artikel dari saya sekedar catatan kecil untuk saya, dan semoga bermanfaat untuk teman-teman dan anda semua…aamiin

0 komentar:

Posting Komentar

Terbit Lapak

Lapak

 
Design by Free WordPress Themes | Bloggerized by dyan123 - Premium Blogger Themes | cheap international calls