mysql备份脚本并保留7天

吾爱主题 阅读:128 2024-04-05 14:23:08 评论:0

脚本需求:

每天备份mysql数据库,保留7天的脚本。

存放在/opt/dbbak目录中。

脚本名称为database_xxxx-xx-xx.sql

脚本内容:

?
1 2 3 4 5 #!/bin/bash export NOW= "$(date +" %Y-%m-%d ")" export DATA_DIR=/opt/dbbak /usr/ local /ywgh/mysql/bin/mysqldump --opt -uroot –p 'mypassword' ywghblog > $DATA_DIR/ywghblog/ywghblog_$NOW.sql 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就是执行后边的命令

请根据自己的需求修改脚本。

知识点扩展:自动备份MYSQL数据库脚本

vi dbbackup.sh在打开的编辑器输入:

?
1 2 #!/bin/bash /usr/ local /mysql/bin/mysqldump -uuser -ppasswd databasename > /home/wwwroot/backup/date_$( date '+%Y%m%d' ).sql

命令的意思是用mysqldump导出名为databasename的数据库到/home/wwwroot/backup/文件夹并命名为date_日期.sql,-u后面的是你的Mysql的用户名,-p后面的是Mysql密码,databasename是要备份数据库名字,把这三个替换成自己的。

修改权限并执行备份脚本看能否备份成功:

?
1 2 chmod +x dbbackup.sh sh dbbackup.sh

如果一切检查没问题了,就创建定时任务自动备份你的数据吧,输入命令:

crontab -e

在打开的文件输入定时任务:

56 23 * * * /root/dbbackup.sh

然后按esc键后输入:wq退出编辑并保存文件。

好了,定时任务创建好了,每天23点56分备份执行dbbackup.sh备份数据库。

总结

以上所述是小编给大家介绍的mysql备份脚本并保留7天,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

原文链接:https://www.cnblogs.com/ywgh/archive/2019/09/25/11584087.html

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容