mysql数据库定时备份脚本
#数据库用户名 DB_USER='xxoo' #数据库密码 DB_PASSWD='Xxoo_12xxoo' #数据库名,可以定义多个数据库,中间以空格隔开,如:test test1 test2 DB_NAME=(db1 db2 db3) #备份时间 CURRENT_BACKUP_TIME=`date +%Y%m%d%H%M%S` #日志备份路径 LOG_PATH='/data01/mysql/backup/backup_log' #数据备份路径 DATA_PATH='/data01/mysql/backup/backup_data' #日志记录头部 echo ”备份时间为$CURRENT_BACKUP_TIME,备份数据库 $DB_NAME 开始” >> $LOG_PATH/mysql_backup_log.log #正式备份数据库 for DB in ${DB_NAME[@]};do source=`mysqldump -u$DB_USER -p$DB_PASSWD $DB > $DATA_PATH/$DB-$CURRENT_BACKUP_TIME.sql` 2>> $LOG_PATH/mysql_backup_log.log; #备份成功以下操作 if [ "$?" == 0 ];then cd $DATA_PATH #为节约硬盘空间,将数据库压缩 tar zcf $DB-$CURRENT_BACKUP_TIME.tar.gz $DB-$CURRENT_BACKUP_TIME.sql > /dev/null #删除原始文件,只留压缩后文件 rm -f $DATA_PATH/$DB-$CURRENT_BACKUP_TIME.sql echo “数据库 $DB 备份成功!!” >> $LOG_PATH/mysql_backup_log.log #删除三十天之前的备份 find $DATA_PATH -name $DB-*.tar.gz -type f -mtime +30 -exec rm -rf {} ; > /dev/null 2>&1echo "数据库 $DB 30天之前的备份数据被删除!!" >> $LOG_PATH/mysql_backup_log.log else #备份失败则进行以下操作 echo “数据库 $DB 备份失败!!” >> $LOG_PATH/mysql_backup_log.log fi done