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
原文地址:http://blog.51cto.com/guoshaoliang789/2109070