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

Depok, 25-09-2011

noname

Advertisements

4 Responses

  1. Mas brow, gk punya website yg pakek codeigner gk? bagi dukz pakek belajar. okey website apa aja yg penting pakek codeigner

    Like

  2. terimakasih ya, tutorial ini sangat membantu

    Like

  3. maaf kalau yang mau direstore nya sekalian dengan view stored procedure dan trigger gimana kalau yang sudah saya coba diatas itu kan yang masuk hanya tabel nya saja

    Like

  4. thanks bang manfaat banget

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: