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,
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...
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
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...
11/25/2013 07:35:00 PM |
Category:
backup database otomastis dan notifikasi email pada cPanel menggunakan fitur Cron Job dengan menggunakan php
|
0
komentar



Comments (0)