linux备份mysql库脚本,docker
!/bin/bash
DATABASES=("db1" "db2")
BACKUP_DIR="/opt/DBbak"
USER="***"
PASSWORD="***"
DAYS_TO_KEEP=5
DATE=$(date +%Y%m%d)
file_suffix=$(date +%Y%m%d%H%M%S)
BACKUP_FILE_DIR="$BACKUP_DIR/$DATE"
mkdir -p $BACKUP_FILE_DIR
if [ ! -e "$BACKUP_DIR/bak.log" ]; then
cd $BACKUP_DIR && touch bak.log
fi
for DB in "${DATABASES[@]}"; do
docker exec -e LANG=C.UTF-8 mysql-master mysqldump --default-character-set=utf8 -K -u$USER -p$PASSWORD --databases $DB > "${BACKUP_FILE_DIR}/${DB}-${file_suffix}.sql"
if [ $? = 0 ] ; then
echo "$(date +"%Y-%m-%d %H:%M:%S") ${DB} 备份成功">>bak.log
fi
done
find $BACKUP_DIR -type d ! -name "*${DATE}*" -mtime +$DAYS_TO_KEEP -exec rm -rf {} \;
exit 0