1. vim .mysqldump.sh #脚本都放置到/d20141212/scripts下,创建.mysqldump.sh的文件目的是,这个文件里有数据库的连接信息,要隐藏掉。所以加了.。



  2. #!/bin/bash
    
    shopt -s -o nounset
    export PATH=/usr/bin/:/bin
    
    bakdir=/d20141212/dbback/msyql
    date=$(date +%Y_%m_%d_%H)
    dbname='XXX' #数据库名称
    dbuser='XXX' #数据库用户
    dbpwd='XXX'  #数据库密码
    
    dbip='XX.XX.XX.XX' #阿里云内网连接地址
    
    if [ ! -d $bakdir ]
    then
            mkdir -p $bakdir
    fi
    
    mysqldump   --set-gtid-purged=OFF   -h$dbip  -u$dbuser -p$dbpwd  
    --lock-tables $dbname | gzip>$bakdir/${dbname}_$date.sql.gz
    #调用上边定义的变量
    
    
    find $bakdir -mtime +30 -type f | xargs rm -rf #找到/d20141212/dbback/msyql下
    的文件,删除30天之前的文件



3. chmod 700 .mysqldump #给予权限



4. vim /etc/cron.d/mysql #添加定时任务,添加如下内容

  0 */6 * * * root /bin/bash /d20141212/scripts/.mysqldump.sh

  #每6小时备份一次。



5. service crond restart #重启cron服务,使之生效。



这样就是脚本自动备份阿里云rds数据库