美文网首页
centos添加定时备份mysql数据库任务

centos添加定时备份mysql数据库任务

作者: 金融非耐斯 | 来源:发表于2020-04-23 11:40 被阅读0次

    前言

    数据越来越重要了,以往都是想起来才备份一下数据库,但随着客户的增加,数据就显的格外重要,所以每天把数据库备份一下,以防万一.

    定时任务

    网上介绍的很多,我是拿来就用,这时要记录的就是格式

    cron的命令格式如下:

    分--------小时-----日---- 月-------星期----命令

    0-59----0-23----1-31----1-12----0-6----command

    #查看cron服务任务状态
    service crond status
    #开启服务
    service crond start
    #加入开机自启动
    chkconfig crond on
    #查看有无定时任务
    crontab -l
    #编辑定时任务
    crontab -e
    02 4 * * * /root/mysql-back.sh
    

    数据库备份脚本

    网上找来的,改了一下只备份3天的,不过经过昨天晚上的试验,备份出来的sql文件为0Byte,今天又改了下,明天看看吧

    #!/bin/bash
    #mysql-back.sh
    #保存备份个数,备份3天数据
    number=3
    #备份保存路径
    backup_dir=/root/mysqlbackup
    #日期
    dd=`date +%Y-%m-%d-%H-%M-%S`
    #备份工具
    tool=mysqldump
    #用户名
    username=root
    #密码
    password=123456
    #将要备份的数据库
    database_name=back
    
    #如果文件夹不存在则创建
    if [ ! -d $backup_dir ]; 
    then     
        mkdir -p $backup_dir; 
    fi
    
    $tool -u $username -p$password --all-databases > $backup_dir/$database_name-$dd.sql
    
    #写创建备份日志
    echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt
    
    #找出需要删除的备份
    delfile=`ls -l -crt  $backup_dir/*.sql | awk '{print $9 }' | head -1`
    
    #判断现在的备份数量是否大于$number
    count=`ls -l -crt  $backup_dir/*.sql | awk '{print $9 }' | wc -l`
    
    if [ $count -gt $number ]
    then
      #删除最早生成的备份,只保留number数量的备份
      rm $delfile
      #写删除文件日志
      echo "delete $delfile" >> $backup_dir/log.txt
    fi
    

    相关文章

      网友评论

          本文标题:centos添加定时备份mysql数据库任务

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