透过 Crontab 排程备份 Mariadb (Mysql)使用 php + exec + mysqldump + gzip

本教学使用环境介绍
伺服器端: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.php

backup.php 脚本记得开头一定要 「」,即便你有启用缩写

 {$dir}{$filename}";

// 执行 cmd
exec($cmd);

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$filename\"");

passthru("cat {$dir}{$filename}");
?>

输出时会经过 gzip 解压缩
实验过原本 150MB 的 sql 压缩后为 28MB

Line ID:ianmac
QQ:1258554508

你可能感兴趣的:(php,php7,mariadb,ubuntu,crontab)