Agar database MySQL menjadi aman maka perlu dibackup secara berkala. dan agar efisien cara backup nya maka sebaiknya dilakukan secara otomatis by sistem , kalau manual takut lupa atau tidak sempat kalau lagi repot.
Salah satu backup otomatis adalah dengan menggunakan crontab
Penjelasan Crontab bisa dibaca di wikipedia http://en.wikipedia.org/wiki/Cron
Cron is the time-based job scheduler in Unix-like computer operating systems.
Formatnya :
* * * * * command to be executed ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └───── day of week (0 - 6) (0 or 6 are Sunday to Saturday, or use names) │ │ │ └────────── month (1 - 12) │ │ └─────────────── day of month (1 - 31) │ └──────────────────── hour (0 - 23) └───────────────────────── min (0 - 59)
Implementasikan di Backup
Buka terminal dan ketikkan :
crontab -e
nanti akan muncul editor , dan kita ketikkan script di bawah ini :
0 23 * * * /usr/bin/mysqldump -u USER -pPASSWORD databasename | gzip > /var/www/database_`date +\%Y-\%m-\%d`.sql.gz
keterangan :
0 = dijalankan pada menit ke 0
23 : dijalankan pada pukul 23 malam
* (pertama) : dijalankan tanggal berapapun
* (kedua) : dijalankan bulan apapun
* (ketiga) : hari apapun
USER : user database , kalau usernya root isikan saja root
PASSWORD : password database, hati2 antara -pPASSWORD tidak ada spasi antara -p dengan PASSWORD
| gzip : agar file nya dikompres menjadi gz , dengan tujuan agar file nya lebih kecil size nya
date +\%Y-\%m-\%d : agar hasilnya tanggal sekarang saat eksekusi
Kita bisa pula membuat backup dilakukan di file php dan file php tersebut dijalankan oleh crontab
1. buat file backup.php
<?php
$database_dir = ‘/var/www/_database/’;
$year = date(‘Y’);
$year_dir = $database_dir.’/’.$year;$month = date(‘M’);
$month_dir = $year_dir.’/’.$month;$today = date(‘Y-m-d’);
$today_dir = $month_dir.’/’.$today;$filename = ‘coba_’.date(‘Y-m-d’).’.sql.gz’;
if (!file_exists($year_dir)) {
mkdir($year_dir,0777);
}if (!file_exists($month_dir)) {
mkdir($month_dir,0777);
}if (!file_exists($today_dir)) {
mkdir($today_dir,0777);
}$command= ‘/usr/bin/mysqldump -u root -pmuc123 marketing | gzip > ‘.$today_dir.’/marketing.sql.gz’;
system($command);?>
2. Kemudian edit file crontab untuk menjalankan file backup.php :
0 23 * * * /usr/bin/php /var/www/backup.php
selamat mencoba Referensi : http://www.backuphowto.info/how-backup-mysql-database-automatically-linux-users http://www.tutorialspoint.com/php/perform_mysql_backup_php.htm http://www.noupe.com/how-tos/10-ways-to-automatically-manually-backup-mysql-database.html www.thegeekstuff.com/2009/06/15-practical-crontab-examples/ http://en.wikipedia.org/wiki/Cron
misi bang numpang nanya,,
nnti hasil gzip nya ada dimna?? jika saya mau memindah kan nya ke tempat lain.
maf jika pertanyaan nya sepeleh saya baru belajar ubuntu.
terimakasih. 😀
SukaSuka
Kalau ikut tutorial di atas maka ada di folder variable $database_dir mas
yakni /var/www/_database/… tergantung hari kapan
kalau misal hari ini maka ada di
/var/www/_database/2018/06/03/cobafile.sql.gzip
bisa diganti mas di variable $database_dir sesuai keinginan.
SukaSuka