前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux下实现数据库每天自动备份

Linux下实现数据库每天自动备份

作者头像
sunonzj
发布2022-06-21 13:51:30
2.3K0
发布2022-06-21 13:51:30
举报
文章被收录于专栏:zjblogzjblog

前两天数据库操作的时候误删了几条数据,找不回了,才发现没有搞备份哇~ 所以今天加了个自动备份,记录一下操作。

linux下如何实现mysql数据库每天定时自动备份,并删除60天内的备份文件。

1、创建备份文件:

可以根据自己的实际情况选择在哪个目录下创建文件,我这里是在data下创建的backSql文件夹。

代码语言:javascript
复制
cd data
mkdir /backSql
//脚本文件放在data/backup中
cd /data
mkdir /backup
cd backup

2、创建备份Shell脚本:(bkZjBlog是我自己命名的)

代码语言:javascript
复制
//这个命令是编辑bkZjBlog文件
vi bkZjBlog.sh 

//输入以下内容
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /data/backSql/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

//这条是找出60天前的备份文件并删除掉(脚本文件不要放在备份文件中,不然也会被删掉..)
find /data/backSql/ -mtime +60 -type f | xargs rm -f

编辑好后保存即可。

注意:

vi编辑需要按i后才能输入,编辑完按esc,shift+;,输入wq为并存并退出。

username:用户名

password:密码

DatabaseName:要备份的数据库名称DatabaseName_$(date +%Y%m%d_%H%M%S).sql(最后格式DatabaseName_20181229_174804.sql)

3、添加可执行权限:

chmod u+x bkZjBlog.sh

添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;

./bkZjBlog.sh

执行完到backSql目录下即可看到备份好的sql文件。

:这里可能会报错

Warning: Using a password on the command line interface can be insecure. (在命令行界面上使用密码可能不安全。)

导出MySQL数据库的时候采用mysqldump命令,出现"Warning: Using a password on the command line interface can be insecure."的错误提示。这个问题应该是在MySQL5.6+版本的时候就有出现,可能是为了确保数据库的安全性采用的保护机制。

我出现了这个问题,但是备份还是好了。所以还没有去解决。

-bash: ./bkZjBlog.sh: /bin/bash^M: bad interpreter: No such file or directory

方法一:vim bkZjBlog.sh进入bkZjBlog.sh后, 在底部模式下, 执行:set fileformat=unix后执行:x或者:wq保存修改。 然后就可以执行./bkZjBlog.sh运行脚本了。(我亲自试过, 是ok的)

方法二:直接执行sed -i “s/\r//” bkZjBlog.sh来转化, 然后就可以执行./bkZjBlog.sh运行脚本了。

mysql和mysqldump出现command not found 问题解决

mysqldump:command not found 建立软连接 ln -s  /usr/local/mysql/bin/mysqldump  /usr/bin

4、添加计划任务

执行命令:

代码语言:javascript
复制
crontab -e

这时就像使用vi编辑器一样,可以对计划任务进行编辑。 

输入以下内容并保存:

代码语言:javascript
复制
30 01 * * * /data/backSql/bkZjBlog.sh

具体是什么意思呢? 

意思是每天早上1:30执行一次shell脚本“/data/backSql/bkZjBlog.sh”。

154609154582625085731.png
154609154582625085731.png

完成。Linux很多命令还是需要去记啊,不然很不方便·~~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档