Backup adalah aksi wajib bagi pengelolaan sebuah sistem. Ada banyak cara dan jalan dalam membuat backup, dari yang manual sampai yang otomatis. Teknik backup data yang akan kita lakukan kali ini akan memanfaatkan skrip PHP untuk membackup database, memampatkannya menjadi format GZIP dan mengirimnya ke email Gmail. Kenapa Gmail? Karena Gmail menawarkan storage yang besar untuk tiap akunnya (sekitar 7Giga lebih saat artikel ini dipublish).
Ada beberapa software/pustaka yang akan kita gunakan, antara lain mysqldump bawaan MySQL, class PHPMailer dan aplikasi gzip bawaan Linux. Berikut contoh skripnya:
<?php
/*
* Contoh Skrip backup database + gzip + kirim ke Gmail
*
*/
// definisikan nama file backup
$time = date("y-m-d_H-i-s");
$filename = 'sia_'.$time;
// eksekusi mysqldump dg tambahan aksi gzip supaya file lebih kecil/terkompresi
exec("mysqldump -unamauser -ppasswordmuapa --add-drop-table namatabel | gzip -c > /home/cron/sql/$filename.sql.gz");
$tujuan = "alamattujuan@gmail.com";
$name_pengirim = "Nama Pengirim e-Mail";
$pengirim = "alamatasalpengirim@namadomain.namadomain";
$letak_file = "/home/cron/sql";
$nama_file = "$letak_file"."/$filename.sql.gz";
$subject = "Subjek/Judul e-Mail";
$message = "Isi e-Mail. Inilah backup data dari sistem. Silakan unduh attachment $filename.sql.gz jika diperlukan";
// mulai inisiasi pengiriman email
$mail = new PHPMailer;
$mail->ClearAddresses();
$mail->AddAddress($tujuan, $tujuan);
$mail->From = $pengirim;
$mail->FromName = $name_pengirim;
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AddAttachment($nama_file, $filename.".sql.gz");
if ($mail->Send()){
echo 'email terkirim';
}else{
echo 'email gagal karena'.$mail->ErrorInfo;
}
Langkah selanjutnya cukup tambahkan aksi ke crontable server anda, misalnya saya ingin mengeksekusi skrip ini tiap jam 3 pagi:
10 3 * * * php /var/www/letak_script_backup_anda.php
Selamat mencoba!
Incoming search terms:
- backup data php
- backup database php
- backup database otomatis dengan php
- belajar cron dump mysql
- membuat database dengan gmail
- membuat crontab mysql
- membuat crontab database
- membuat cron
- membuat backup database dengan php
- kirim email ke databse
Tulisan Menarik Lainnya
2 Comments on “Belajar PHP: Membuat Cron Backup database + kirim hasil ke email Gmail”
You can track this conversation through its atom feed.
Wah, masih blm ngerti gan..
hiks… hiks..
Posted on March 1, 2012 at 8:09 am.
silakan dipraktekkan dulu mas roni, atau pelajari dasar-dasar php dulu, php-exec dan php-mail
Posted on March 1, 2012 at 2:08 pm.