zoukankan      html  css  js  c++  java
  • Linux下mysql自动备份脚本

    本随笔文章,由个人博客(鸟不拉屎)转移至博客园
    发布时间:2018 年 06 月 26 日
    原地址:https://niaobulashi.com/archives/AutoBackup.html


           逛了蛮多博客网站的,亲眼看到一个博客网站数据丢失之后的模样,挺为他心痛的。于是就打算弄个mysql定时备份的脚本,可以自行设计crontab定时执行时间,可以是周一和周四每周备份两次就可以了。

    脚本

           新建一个mysql_backup.sh文件

    #!/bin/bash
    #设置mysql的备份保存目录
    folder=/root/mysql_back
    cd $folder
    day=`date +%Y%m%d`
    mkdir -p "$day"
    cd $day
    #数据库服务器ip,填写服务器的公网地址即可
    host=xx.xx.xx.xx
    #用户名
    user=root
    #密码
    password=password
    #要备份的数据库名
    db=test
    
    #执行备份语句
    mysqldump -h$host -u$user -p$password $db > ./test.sql
    

    注意

    上方需要你 修改 并且 注意 的地方有:

    • folder设置的目录你可以自行设置
    • day=date +%Y%m%d,"+"和"date"必须有个空格,否则会有语法错误
    • host为你的服务器公网IP
    • user一般都是root
    • password为root的密码
    • db为博客的数据库名

    测试脚本是否正确,执行脚本

    sh mysql_backup.sh
    

    因为我是为了测试crontab的定时任务执行是否有效,我设置的是1分钟执行一次,其中day=`date +%Y%m%d_%H%M%S`。(为了执行效果而截的图,可忽略)

    定时任务

    设置好定时任务crontab执行时间,一般ESC都会自带crontab服务的。查看crontab服务状态

    service crond status

    有蓝色指示灯说明服务运行正常,OK,开始设置定时任务

    crontab -e
    

    键入i,进入编辑模式:
    敲入下列命令:每周1和周4凌晨2点会执行定时脚本

    0 2 * * 1,4 /etc/profile;/bin/sh /root/mysqlbackup.sh
    

    重启crontab服务使之生效

    /bin/systemctl restart crond.service
    

    OK了,之后查看备份的文件就在上面脚本定义的目录上查看即可

    cd /root/mysql_back
    

    为你的博客进行备份,不再为数据丢失而烦恼啦。

    是不是so easy。有啥问题尽情留言,秒回

    20180725前来更新
    这是部署脚本之后的执行效果,每个周一和周四凌晨2点执行的效果图

    不再为忘记备份担心数据丢失啦~

    推荐阅读

    关于定时执行任务:Crontab的20个例子
    Linux crontab定时执行任务 命令格式与详细例子
    Linux crontab命令

  • 相关阅读:
    SQL应用初级指南
    XML 文档的基本操作
    SQL中单引号的转义
    C# (输入输出流)
    C# 文件与目录的基本操作(System.IO)
    数据库对象命名
    .Net 中的反射(反射特性) Part.3 (转载)
    C# 中的委托和事件(详解)
    SQL Server TransactSQL 编程
    Brush 色谱
  • 原文地址:https://www.cnblogs.com/niaobulashi/p/AutoBackup.html
Copyright © 2011-2022 走看看