加入收藏 | 设为首页 | 会员中心 | 我要投稿 92站长网 (https://www.92zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql备份脚本并保留7天

发布时间:2022-02-25 13:59:22 所属栏目:MySql教程 来源:互联网
导读:脚本需求: 每天备份mysql数据库,保留7天的脚本。 存放在/opt/dbbak目录中。 脚本名称为database_xxxx-xx-xx.sql 脚本内容: #!/bin/bash export NOW=$(date +%Y-%m-%d) export DATA_DIR=/opt/dbbak /usr/local/ywgh/mysql/bin/mysqldump --opt -uroot p my
      脚本需求:
 
     每天备份mysql数据库,保留7天的脚本。
 
     存放在/opt/dbbak目录中。
 
     脚本名称为database_xxxx-xx-xx.sql
 
脚本内容:
 
#!/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在打开的编辑器输入:
 
#!/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是要备份数据库名字,把这三个替换成自己的。
 
修改权限并执行备份脚本看能否备份成功:
 
chmod +x dbbackup.sh
sh dbbackup.sh
如果一切检查没问题了,就创建定时任务自动备份你的数据吧,输入命令:
 
crontab -e
 
在打开的文件输入定时任务:
 
56 23 * * * /root/dbbackup.sh
 
然后按esc键后输入:wq退出编辑并保存文件。
 
好了,定时任务创建好了,每天23点56分备份执行dbbackup.sh备份数据库。
 
总结
 
以上所述是小编给大家介绍的mysql备份脚本并保留7天,希望对大家有所帮助。

(编辑:92站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读