Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Belajar PHP: Membuat Cron Backup database + kirim hasil ke email Gmail

Posted on October 23, 2013 by Syauqi Wiryahasana
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: [sourcecode language="php"] <?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; } [/sourcecode] Langkah selanjutnya cukup tambahkan aksi ke crontable server anda, misalnya saya ingin mengeksekusi skrip ini tiap jam 3 pagi: [sourcecode] 10 3 * * * php /var/www/letak_script_backup_anda.php [/sourcecode] Selamat mencoba!
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically