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

 

发布时间:2018-12-29 21:55编辑,原文链接:http://www.zjhuiwan.cn/toDetail?articleId=1812291237206140011

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

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

1、创建备份文件:

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

1

2

3

cd data

mkdir /backSql

cd /backSql

 

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

1

2

3

4

5

6

7

8

9

//这个命令是编辑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+版本的时候就有出现,可能是为了确保数据库的安全性采用的保护机制。

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

     

    4、添加计划任务

    执行命令:

    1

    crontab -e

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

    输入以下内容并保存:

    1

    30 01 * * * /data/backSql/bkZjBlog.sh

    具体是什么意思呢? 

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

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

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

     

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