zoukankan      html  css  js  c++  java
  • 通过shell定时备份数据库

    需求:

    1. 每天凌晨2:10备份数据库zhengDB到 /data/backup/db。
    2. 备份开始和结束能够给出相应提示信息。
    3. 备份后的文件标识标准为已备份时间为文件名,并打包成 .tar.gz 的形式,如:2018-07-01_211802.tar.gz。
    4. 在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除。

    步骤:

    step1 : 编写shell并授权

    vim mysql_db_backup.sh
    #!/bin/bash
    
    #完成数据库的定时备份。
    #备份的路径
    BACKUP=/data/backup/db
    #当前的时间作为文件名
    DATETIME=$(date +%Y_%m_%d_%H%M%S)
    #可以输出变量调试
    #echo ${DATETIME}
    
    echo "=======开始备份========"
    echo "=======备份的路径是 $BACKUP/$DATETIME.tar.gz"
    
    #主机
    HOST=localhost
    #用户名
    DB_USER=root
    #密码
    DB_PWD=123
    #备份数据库名
    DATABASE=zhengDB
    #创建备份的路径
    #如果备份的路径文件夹存在,就使用,否则就创建
    [ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
    #执行mysql的备份数据库的指令
    mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST  $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz
    #打包备份文件
    cd $BACKUP
    tar -zcvf $DATETIME.tar.gz $DATETIME
    #删除临时目录
    rm -rf $BACKUP/$DATETIME
    
    #删除10天前的备份文件
    find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} ;
    echo "=====备份文件成功==========="
    chmod 744 mysql_db_backup.sh   #授权

    step2 : 设置定时任务

    crontab -e

    在弹出的vim编辑中编辑定时任务并保存

    10 2 * * * /usr/sbin/mysql_db_backup.sh
  • 相关阅读:
    ArrayList用法
    MessageBox
    将文本文件导入Sql数据库
    在桌面和菜单中添加快捷方式
    泡沫排序
    Making use of localized variables in javascript.
    Remove double empty lines in Visual Studio 2012
    Using Operations Manager Connectors
    Clear SharePoint Designer cache
    Programmatically set navigation settings in SharePoint 2013
  • 原文地址:https://www.cnblogs.com/ct20150811/p/11277283.html
Copyright © 2011-2022 走看看