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