php定时备份数据库,服务器定时备份数据库

在9月份的时候,心血来潮考了考 swoole苦工"滑稽园扛把子" 一下 :

在服务器中,你是如何定时备份数据库的?

发现他答的并不好,只说了如何操作宝塔备份数据库,所以只能本人自己写一篇了

宝塔备份

首先,宝塔备份是一定可以的,而且是无脑型,也很简单:

4f196f5f538927b205f9c2cef27e5780.png

51fa579e7cda251dbbd339192d65844c.png

这样就可以了,简简单单

那有人会说,我不用宝塔,该怎么备份呢?

当然也是可以的

crontab脚本备份

首先我们要了解数据库的备份命令:

mysqldump工具备份

备份整个数据库mysqldump -uroot -hhost -ppassword dbname > backdb.sql

备份数据库中的某个表mysqldump -uroot -hhost -ppassword dbname tbname1, tbname2 > backdb.sql

备份多个数据库mysqldump -uroot -hhost -ppassword --databases dbname1, dbname2 > backdb.sql

备份系统中所有数据库mysqldump -uroot -hhost -ppassword --all-databases > backdb.sql

然后需要了解crontab的写法:3 * * * *  /home/tioncico/crontab/test.sh

每小时的第3分钟,执行该sh文件

crontab详细说明可以看:linux定时任务 文章

编写shell文件

新增 /home/tioncico/crontab/test.sh文件:#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

mkdir -p /home/tioncico/bak/

mysqldump -uroot -p123456 test > /home/tioncico/bak/`date +%Y%m%d`.sql

新增执行权限chmod +x test.sh

这样之后,每个小时的第3分钟,则会执行该脚本,进行备份数据库,并且把数据写入到备份文件夹中:

12c31068c11837f2211682b30877f416.png

额外补充:

备份sql文件之后,还可以进行压缩:mysqldump -uroot -p123456 test | gzip > /home/tioncico/bak/`date +%Y%m%d`.sql.gz

同时可以在定时任务的配置中增加日志输出(比如记录错误信息,记录成功状态):3 * * * *  /home/tioncico/crontab/test.sh >> /home/tioncico/log/bak.log 2>&1

本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值