用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