mysql定时备份

本文使用的是阿里云的服务器

  1. 登录服务器,查找mysql的安装目录
    whereis mysql

     

  2. 在/usr/local/mysql/新目录下新建备份文件目录 backup
    cd /usr/local/mysql
    mkdir backup

     

  3. 新建执行脚本文件databaseBackup.sh,保存退出
    cd backup
    vim databaseBackup.sh
    #!/bin/bash
    BACKPATH=/usr/local/mysql/backup
    SQL_FILE=ecsr_$(date +%Y%m%d_%H%M%S).sql
    LOG_FILE=ecsr_$(date +%Y%m%d_%H%M%S).log
    HOST_NAME=ip地址
    PORT_NUM=3306
    USER_NAME=账号
    PASSWORD=密码
    
    if [ ! -d "$BACKPATH" ]; then
        mkdir -p $BACKPATH
    fi
    
    /usr/local/mysql/bin/mysqldump -h $HOST_NAME -P $PORT_NUM -u $USER_NAME -p$PASSWORD 
    --log-error=$BACKPATH/$LOG_FILE --databases 数据库名 -R -E > $BACKPATH/$SQL_FILE find $BACKPATH -mtime +7 \( -name "*.sql" -o -name "*.log" \) -exec rm -rf {} \;
  4. 新建定时执行任务 databaseBackup.cron,每天凌晨1点执行
    0 1 * * * sh /usr/local/mysql/backup/databaseBackup.sh > /dev/null 2>&1

     

  5. 将任务添加到执行列表,执行后默认会把任务添加到/var/spool/cron/root文件中,可以查看下。
    crontab databaseBackup.cron

     注意:这个操作是直接替换该用户下的crontab,而不是新增。

  6. 参考文章 https://www.cnblogs.com/longjshz/p/5779215.htmlhttps://www.cnblogs.com/letcafe/p/mysqlautodump.html
  7. [root@localhost ~]# crontab [选项]
    选项:
        -e:    编辑crontab定时任务
        -l:    查询crontab任务
        -r:    删除当前用户所有的crontab任务

     

 

posted @ 2019-12-02 16:23  华格瑞沙  阅读(198)  评论(0编辑  收藏  举报