2014年的时候用crontab定时执行php脚本来备份数据库,简单的写了个实例:

db_backup.php代码:

<?php
date_default_timezone_set ('Asia/Shanghai');
$cfg_dbuser="root";
$cfg_dbpwd="123456";
$cfg_dbname="test";
// 设置保存文件名 
$filename=date("Y-m-d_H-i-s")."-".$cfg_dbname.".sql"; 
// 获取当前页面文件路径,SQL文件就导出到此文件夹内 
$tmpFile = (dirname(__FILE__))."/".$filename; 
// 用mysqldump命令导出数据库 
exec("mysqldump -u$cfg_dbuser -p$cfg_dbpwd --default-character-set=utf8 $cfg_dbname > ".$tmpFile); 
$file = fopen($tmpFile, "r"); // 打开文件 
echo fread($file,filesize($tmpFile)); 
fclose($file); 
exit;


加入定时计划

crontab -e 
#每分钟执行php备份mysql脚本 注意php位置和db_backup 以及 cron等目录权限
*/1 * * * * /usr/bin/php /var/www/html/cron/db_backup.php