上都海奶茶馆 发表于 2018-10-6 07:25:11

mysql 备份脚本

  #!/bin/bash
  DBname=用户名         #DB数据库
  backup_dir=/data/mysqlbackup/DataBackup #备份目录
  dbrootpwd=密码               #DB用户名root密码:
  expired_days=7                        #BD备份存储7天
  LogFile=$backup_dir/db.log               #日志文件
  DumpFile=$backup_dir/DB_lelaohui_$(date +%Y%m%d_%H).sql   #备份数据库文件
  NewFile=$backup_dir/DB_lelaohui_$(date +%Y%m%d_%H).tgz    #新增备份数据库文件
  OldFile=$backup_dir/DB_lelaohui_$(date +%Y%m%d --date="$expired_days days ago")*.tgz #旧的备份文件 “7 days ago”意思是7天以前时间
  [ ! -e "$backup_dir" ] && mkdir -p $backup_dir               #判断备份目录/data/mysqlbackup/DataBackup不存在,那么新建备份目录
  if [ -n "`ls $OldFile 2>/dev/null`" ];then#当串的长度大于0时为真(串非空),查看2>/dev/null代表不输出错误提示信息。
  /bin/rm -f $OldFile
  echo "[$OldFile] Delete Old File Success" >> $LogFile
  else
  echo "[$OldFile] Delete Old Backup File" >> $LogFile
  fi
  if [ -e "$NewFile" ];then       #如果新文件存在,那么输出日志为那么不能备份
  echo "`date +%Y%m%d_%H`: [$NewFile] The Backup File is exists, Can't Backup" >> $LogFile
  else    #否则创建新的备份文件,进入备份路径,压缩新增备份数据库文件.tgz,删除备份的.sql文件。
  /usr/bin/mysqldump -uroot -p$dbrootpwd -h10.66.126.90 --opt --databases dinner llh llh_bomb> $DumpFile
  cd $backup_dir
  tar czf $NewFile ${DumpFile##*/} >> $LogFile 2>&1            #${file##*/}:删掉最后一个/及其左边的字符串:my.file.txt   压缩新备份数据库,并删除.sql数据库
  echo "`date +%Y%m%d_%H`: [$NewFile] Backup success ">> $LogFile      #追加打印备份成功的日志
  /bin/rm -f $DumpFile
  fi

页: [1]
查看完整版本: mysql 备份脚本