本教学使用环境介绍伺服器端:Ubuntu 18.04 LTS资料库:Mariadb 10.1.34(Mysql)语言版本:php 7.3本机端:MacOS High Sierra一开始原本是用 php 去备份资料库,但是发现会有一些问题,于是改成这种方式,直接透过 mysql 去备份,出来的格式也不会有什么问题。$ crontab -e设定每天凌晨00:00 执行0 0 * * * php /var/www/backup.phpbackup.php 脚本记得开头一定要 「<?php」,即便你有启用缩写<?php// 设定环境header(‘Content-Type: text/html; charset=utf-8’);date_default_timezone_set(‘Asia/Taipei’);// 设定保存的资料夹位置$dir = “/var/www/db/”;// 设定档名$filename = “dev-” . date(“Y-m-d-H-i-s”) . “.sql.gz”;// 设定资料库$db_host = “localhost”;$db_username = “root”;$db_password = “password”;$db_database = “db”;// 准备 cmd$cmd = “mysqldump -h {$db_host} -u {$db_username} –password={$db_password} {$db_database} | gzip > {$dir}{$filename}”;// 执行 cmdexec($cmd);header(“Content-type: application/octet-stream”);header(“Content-Disposition: attachment; filename="$filename"”);passthru(“cat {$dir}{$filename}”);?>输出时会经过 gzip 解压缩实验过原本 150MB 的 sql 压缩后为 28MBLine ID:ianmacQQ:1258554508