用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";
-
- $tmpFile = (dirname(__FILE__))."/".$filename;
-
- 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