Linux下mysql数据库定时备份并删掉3天前的备份文件

1.首先检查下有没有安装crond,命令为service crond status,如果出现unrecognized service,则说明没有安装,如果出现    crond is stopped。如果出现crond (pid  1956) is running...则表示正在运行

2. 如果没有安装则使用命令yum install vixie-cron 进行安装

3. 安装成功后,接下来创建一个备份文件夹mysqlbackup,名字看你自己,建文件夹命令如下

    #cd /usr/local 进入指定文件夹下

    #mkdir mysqlbackup  创建文件夹

    #cd /usr/local/mysqlbackup

    #mkdir mysqldata

可以通过xftp看到刚创建的文件夹

4. 接下来开始写脚本执行文件,在mysqlbackup目录下新建一个sh文件,命令为

    #vi  /usr/local/mysqlbackup/backupdata.sh

 

然后按i  进入编辑状态,输入如下脚本:

#备份地址

    backupdir=/usr/local/mysqlbackup/mysqldata

 

    #时间
    time=_` date +%Y_%m_%d_%H_%M_%S `
    #需要备份的数据库名称
    db_name=testdata
    #mysql 用户名
    db_user=test
    #mysql 密码
    db_pass=abcd1234
    mysqldump -u $db_user -p$db_pass $db_name | gzip > $backupdir/$db_name$time.sql.gz
    #删除三天之前的备份文件

 

    find $backupdir -name $db_name"*.sql.gz" -type f -mtime +3 -exec rm -rf {} \; > /dev/null 2>&1

编辑完后按 esc键退出,然后按 :wq保存。

其中-mtime+1,表示删除一天前的数据,-nmin+1,表示删除1分钟之前的数据

5. 新建一个执行文件的配置文件,用于注册到crond中

    #vi /usr/local/mysqlbackup/backupdata_config

和上一步一样进入编辑状态 编辑 0 0 * * * /usr/local/mysqlbackup/backupdata.sh

保存,意思是每天凌晨备份文件

6.添加调度任务

    crontab usr/local/mysqlbackup/backupdata_config

7 添加可执行权限

    .chmod u+x backupdata.sh

查看调度任务,#crontab -l。我定义的是每天22点执行备份计划。

结束!

注意:如果备份时出现mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect的错误,修改正确的路径即可

    1).找到正确的路径 netstat -ln | grep mysql

            unix  2      [ ACC ]     STREAM     LISTENING     34394    /var/lib/mysql/mysql.sock

     2).在运行dump命令就可以了

        [root@localhost]# mysqldump --socket=/var/lib/mysql/mysql.sock -u root -p bcdata  vps_login_info > /usr/local/mysqlbackup/mysqldata/vps_login_info2018-06-25.sql

 

    3).也可以修改 my.cnf 文件 添加[client]添加socket=/var/lib/mysql/mysql.sock

    4).或使用软连接 ln -s /storage/db/mysql/mysql.sock /var/lib/mysql/mysql.sock
 

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值