美文网首页我用 LinuxLinuxLinux学习之路
linux每天定时备份数据库并删除十天前数据

linux每天定时备份数据库并删除十天前数据

作者: 笛福奥特 | 来源:发表于2018-06-06 11:36 被阅读26次

    文章来自 虎书博客,转载请注明出处。

    每天定时备份数据库需要用到Linux的定时任务,利用Linux的crondtab 命令。下面我们来看详细步骤:

    一、写好shell脚本 mysqlbak.sh
    #!/bin/sh
    mysqldump -uroot -pmysqlroot xhblt | gzip > /mysqlbak/`date '+%Y-%m-%d_%H:%M:%S'`.sql.gz
    find /mysqlbak/ -mtime +10 -name "*.sql.gz" -exec rm -rf {} \;
    
    脚本解析:
    mysqldump -uroot -pmysqlroot xhblt | gzip > /mysqlbak/`date '+%Y-%m-%d_%H:%M:%S'`.sql.gz
    

    此举含义为下载数据库文件,将数据库文件以”年-月-日-时-分-秒.sql.gz”的名称存在根目录下的mysqlbak文件夹中,数据库的登录备份信息为:(用户名:root 密码:mysqlroot 需要备份数据库名称为:xhblt)

    find /mysqlbak/ -mtime +10 -name "*.sql.gz" -exec rm -rf {} \;
    

    含义为:找到根目录下mysqlbak文件夹中的数据然后删除10天前的数据

    二、目录创建以及文件上传

    1、在根目录下创建文件夹 mysqlbak作为备份目录,目录权为777

    mkdir /mysqlbak;
    chmod 777 /mysqlbak;
    

    2、文件上传
    将写好的shell脚本放在 /etc 目录下,并且赋予权限 777

    chmod 777 /etc/mysqlbak.sh
    
    三、加入定时任务

    1、输入 crontab –e 命令加入

    0 3 * * * /etc/mysqlbak.sh  //每天凌晨三点执行shell文件
    

    然后”:wq!”保存退出
    2、输入 service crond restart 重启定时服务

    相关文章

      网友评论

        本文标题:linux每天定时备份数据库并删除十天前数据

        本文链接:https://www.haomeiwen.com/subject/pchbsftx.html