zoukankan      html  css  js  c++  java
  • centos下mysql自动备份(亲测可用)

    编写sh脚本如下:

    #!/bin/bash
    db_user="root"
    db_passwd="123456"
    db_name="test_db"
    #进入备份目录将之前的移动到old目录
    cd /mnt/backup/bakmysql
    echo "you are in bakmysql directory now"
    mv test_db* /mnt/backup/bakmysqlold
    echo "Old databases are moved to bakmysqlold folder"
    #备份目录
    backup_dir="/mnt/backup/bakmysql"
    #时间格式
    time=$(date +"%Y-%m-%d")
    #mysql 备份的命令,注意有空格和没有空格
    mysqldump -u$db_user -p$db_passwd $db_name  > "$backup_dir/$db_name"-"$time.sql"
    echo "your database backup successfully completed"
    #这里将7天之前的备份文件删掉
    SevenDays=$(date -d -7day  +"%Y-%m-%d")
    if [ -f /mnt/backup/bakmysqlold/pashanhu-$SevenDays.sql ]
    then
    rm -rf /mnt/backup/bakmysqlold/pashanhu-$SevenDays.sql
    echo "you have delete 7days ago bak sql file "
    else
    echo "7days ago bak sql file not exist "
    echo "bash complete"
    fi
    

      

    然后通过下面命令将脚步加入系统的计划任务

    crontab -e
    
    0 2 * * * cd /usr/sbin/ && ./bakmysql.sh

    保存退出以后就可以了。

    也许需要重启crontab  启用命令:/sbin/service crond restart

    后期更改~结果如下

  • 相关阅读:
    【Coreforces 1253E】
    计数专题乱做
    PKUWC2020乱做
    多项式板子
    notepad
    2021.4.9
    2021.4.8
    2021.3.31
    2021.3.26
    2021.3.25
  • 原文地址:https://www.cnblogs.com/pangguoming/p/10219775.html
Copyright © 2011-2022 走看看