Kawan-kawan semua, ini saya mencoba berbagi ilmu php untuk backup otomatis database dengan mengoptimalkan fitur cron job di cPanel
       Biar kawan-kawan tidak bosan dan cepat dalam menyelesaikan tugasnya masing-masing, ini saya mulai saja dan tolong perhatikan dengan baik alur logikanya sama sesuain beberapa perubahan seperti kasus yang dihadapi kawan-kawan sekalian, ok..

maaf ya kawan,saya disini tidak banyak memberi penjelasan yang detail dan mohon diperhatikan sebelum anda implementasikan diserver, mendingan kalian test di local masing2 dulu ya,

step 1 :
       Buat file seperti dibawah ini dan simpan dengan nama file latihanBackup.php :
       date_default_timezone_set('Asia/Jakarta'); // PHP 6 mengharuskan penyebutan timezone.
       $host = 'localhost';
       $user = 'username ';    //username database temen2
       $pass = 'password ';   //password database temen2
       $DBname = 'nama database';  //nama Database teman2
       $table = '*'; //saya  pilih tanda bintang karena saya ingin mem-backup seluruh tabel database-nya
mysql_connect($host , $user , $pass );
mysql_select_db($DBName);

$dump ="";
$result_tables = mysql_query("show tables");
while($row_tables=mysql_fetch_row($result_tables)){
        $dump .= 'DROP TABLE IF EXISTS ' . $row_tables[0] . '; ';
$result_create = mysql_query("show create table {$row_tables[0]}");
$row_create = mysql_fetch_row($result_create);
$dump .= $row_create[1] . ";\r\n\r\n";
$result_record = mysql_query("select * from {$row_tables[0]}");
while($row_record=mysql_fetch_row($result_record)){
$dump .= "insert into `{$row_tables[0]}` values(";
$dump .= "'{$row_record[0]}'";
$count = count($row_record);
for($i=1;$i<$count;$i++){
$dump .= ", '{$row_record[$i]}'";
}
$dump .= ");\r\n";
}

$dump .= "\r\n";

mysql_free_result($result_create);
}
mysql_free_result($result_tables);

// Generate the filename for the sql file
$filename = 'namadatabase'.date('Y-m-d_H-i-s').'.sql'; //format file nama database kawan2 namadatabase20131125074507
$handle = fopen('backup/tabelBackup/'.$filename,'w+'); // disini hasil backup file kawan2 akan tersimpan di folder backup/tabelBackup/nama file database
    fwrite($handle,$dump);
    fclose($handle);

mysql_close();

//kirim email notifikasi ke email kawan2 yang berwenang untuk dapat meneriama pemberitahuan backup
$kepada = "email tujuan";
$judul  = "nama database yang telah di backup ";
$dari   = "Content-type: text/html \r\n";
$dari  .= 'From: email server kawan2 "\r\n";
$dari  .= 'Bcc: mau di cc ke siapa saja'. "\r\n";

$pesan  = "pesan-pesan pemberitahuan teman2;

terima kasih";

        mail($kepada,$judul,$pesan,$dari);
?>

step 2 :
      Upload file yang telah di buat ke dalam cPanel dan ingat jangan di upload ke dalam folder public_html namun di luar folder tersebut lho..

step 3 :
    Buat folder di luar folder public_html dengan nama folder backup dan didalamny buat lagi folder tabelBackup

step 4 :
      Isi form dalam cron job teman2 sekalian,
gambar 1.0 form aplikasi cPanel 

     a. Pada kolom email : masukan email yang kawan2 pakai untuk akun cPanel
     b. Pada kolom Common Settings : pilih pengaturan waktu untuk menjalankan perintah cron job
     c. Pada kolom Command : isi perintah cron job
   
     Setelah semua teman2 sudah mengatur sedimikian rupa sesuai situasi dan kondisi masing2 maka klik add new cron job, lalu tunggu dech di email teman2 pasi ada notif backup dan lihat lah di folder backup/tabelBackup/ pasti ada file sql database teman2 sekalian...



hayooo.......... pada bingung cari script command untuk jalani file php  backupny ya...


ini saya kasi dech biar ntar tinggal copas, karena saya juga g suka di buat ribet, hehe,

karena format file kita php maka semua dimulai dengan kata php
php /home/namaUsercPanel/latihanBackup.php

mudahka man,

terima kasih telah mau baca dan mohon maaf atas segala kekurangan, salam sahabat semua...

     

komentar