电脑疯子技术论坛|电脑极客社区

 找回密码
 注册

QQ登录

只需一步,快速开始

[编程和数据库] mysql如何备份脚本并保留7天 mysql备份脚本并保留7天代码实例

[复制链接]
zhaorong 发表于 2019-12-4 16:39:22 | 显示全部楼层 |阅读模式
本篇文章小编给大家分享一下mysql备份脚本并保留7天代码实例小编觉得挺不错的 现在分享给大家供大家参考
有需要的小伙伴们可以来看看。

脚本需求:
每天备份mysql数据库保留7天的脚本。
存放在/opt/dbbak目录中。
脚本名称为database_xxxx-xx-xx.sql
脚本内容:

  1. #!/bin/bash
  2. export NOW="$(date +"%Y-%m-%d")"
  3. export DATA_DIR=/opt/dbbak
  4. /usr/local/ywgh/mysql/bin/mysqldump --opt -uroot –p 'mypassword' ywghblog > $DATA_DIR/ywghblog/ywghblog_$NOW.sql
  5. find $DATA_DIR/ywghblog -type f -name "*.sql" -mtime +7 -exec rm -rf {} \;
复制代码

脚本解释:

首先定义一个变量NOW取当前的年月日,
在定义一个目录的变量DATA_DIR
然后使用mysqldump命令将要备份的库备份到指定的目录
最后使用find命令找到指定目录的sql文件 并且将7天之外的文件删除。
-mtime + 就是找到7天之外的文件
-mtime – 就是找到7天之内的文件
-exec就是执行后边的命令

970e74be9f.png

请根据自己的需求修改脚本。
知识点扩展 自动备份MYSQL数据库脚本
  1. vi dbbackup.sh在打开的编辑器输入:
  2. #!/bin/bash
  3. /usr/local/mysql/bin/mysqldump -uuser -ppasswd databasename > /ho
  4. me/wwwroot/backup/date_$(date '+%Y%m%d').sql
复制代码

命令的意思是用mysqldump导出名为databasename的数据库到/home/wwwroot/backup/文件夹并命名为date_日期.sql -u后面的
是你的Mysql的用户名 -p后面的是Mysql密码 databasename是要备份数据库名字把这三个替换成自己的。
修改权限并执行备份脚本看能否备份成功:
  1. chmod +x dbbackup.sh
  2. sh dbbackup.sh
复制代码
如果一切检查没问题了 就创建定时任务自动备份你的数据吧 输入命令:
如果一切检查没问题了 就创建定时任务自动备份你的数据吧 输入命令:

crontab -e
在打开的文件输入定时任务:
56 23 * * * /root/dbbackup.sh
然后按esc键后输入:wq退出编辑并保存文件。
好了 定时任务创建好了 每天23点56分备份执行dbbackup.sh备份数据库。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|VIP|电脑疯子技术论坛 ( Computer madman team )

GMT+8, 2025-1-23 07:14

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表