PHP如何实现定时备份数据库结构和数据到本地?

实现定时数据库备份功能
因为考虑到数据的安全性,数据库用的是mysql,想用php实现设置一个定时计划,在这个时间区间内可以自动的去执行定时备份数据库的功能。因为自己第一次做,没有思路去设计这个流程或者说结构去实现这个功能,想请教做过的大神可以给个方案或者方法大概介绍下这个实现的过程,然后我可以按着这个思路进行完成。如果有对应的执行代码分享也可以。

希望可以得到你们的分享,谢谢了。

阅读 6k
6 个回答

建议用shell做,比较简单,用mysqldump命令来实现

如果只有一个库,没有做分布式,那使用shell来做是没有问题,但备份要记得打log记录,保证每次记录是没有问题,而且也要写个邮件通知。每次备份进行通知。如果你配置了主从,只需要设置主库备份即可

备份的shell脚本:

!/bin/bash

备份保存路径

backup_dir=备份保存路径

日期

dd=date +%Y-%m-%d-%H:%M:%S

备份工具

tool=mysqldump

数据库的地址

host=数据库地址

数据库登录名

user=用户名

数据库密码

password=密码

将要备份的数据库

database_name=数据库名称
$tool -h $host -u $user -p $password--set-gtid-purged=off $database_name > $backup_dir/$database_name-$dd.sql
然后再crontab加个定时执行任务就行了

# m h dom mon dow user  command
  0 0 *   *   *   root  mysqldump -u$root -p$pass $database > $path/$file.sql

每天00:00备份

你想用php那也可以用crontab调用php文件实现

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题