在大多数情况下,开发实在win下进行,因此,然系统每天自动备份数据这也是有必要的饿。
Windows平台数据备份
- 创建批处理文件
在批处理文件中填写如下代码:
D:wamp64inphpphp7.0.10php.exe D:mythingsackupack.php #php安装路径 运行的PHP文件路径
需要注意的是:路径别错。
- 创建运行的PHP文件
<?php /*定时备份数据库文件*/ //设置时区 date_default_timezone_set( 'PRC' ); //根据时间生成文件名称 $bakFileName = date( 'YmdHis', time() ) . '.sql'; $command = "D:/wamp64/bin/mysql/mysql5.7.14/bin/mysqldump -uroot -proot --all-databases>D:/mythings/backup/{$bakFileName}"; /** * F:/web/mysql-5.6.31-winx64/bin/mysqldump mysql安装的目录mysqldump文件的路径 * root 数据库账号 * Abner 数据库密码 * dede 要备份数据库名称 * F:/test//{$bakFileName} 生成备份的文件 * * -------------------exec()函数用法------------------------------------ * exec语法: string exec(string command, string [array], int [return_var]); * exec返回值: 字符串 * Command – 需要执行的命令 * Array – 是输出值 * return_var –是返回值0或1,如果返回0则执行成功,返回1则执行失败 */ exec($command,$arr, $num); if($num == 0) echo "ok"; else echo "no"; ?>
- 添加win任务执行程序,网上有很多,自行百度。
Linux使用PHP进行下数据备份
- 创建PHP运行程序
代码如上PHP备份文件, - 使用crontab 提那家定时执行任务
crontab –e #b编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件,添加如下字符
00 00 * * 7 /usr/bin/php -f /home/wwwroot/default/db_back/db_back.php #指明PHP的安装路径, 以及运行文件路径
注意事项:
- exec ,shell_exec , system 返回 null
注意这是命令执行,是要在命令行中执行的,不能用流览器直接访问。
如果使用了禁用函数赎回提示: exec() has been disabled for security reasons。
一般在llinux系统下 函数被禁。
调试建议:用PHP的命令行执行程序,这样更叫有利于调试。 - 参考文档:
- https://www.bbsmax.com/A/mo5kn9rMJw/
- https://www.bbsmax.com/A/Gkz1QlgzR6/
- https://www.bbsmax.com/A/x9J2xrWMd6/
- crontab用法