27 lines
883 B
Bash
27 lines
883 B
Bash
#!/bin/bash
|
|
|
|
#############################################################################################
|
|
# 用途: Mysql 数据库备份脚本
|
|
# 作者: 丁辉
|
|
# 更新时间: 2024-05-20
|
|
#############################################################################################
|
|
|
|
# crontab -e
|
|
# 0 2 * * * bash /opt/mysql/backup/mysql-backup.sh
|
|
|
|
MYSQL_HOST=<MYSQL_HOST>
|
|
MYSQL_USER=root
|
|
MYSQL_PASS=root
|
|
BACKDIRPATH=/opt/mysql/backup
|
|
DATE=`date +%F%H%M`
|
|
|
|
# 填写需要备份的数据库
|
|
databases=(
|
|
database
|
|
)
|
|
|
|
for DATABASE in ${databases[@]};do
|
|
docker run --rm mysql:8.0 mysqldump -h${MYSQL_HOST} -u${MYSQL_USER} -p${MYSQL_PASS} ${DATABASE} > ${BACKDIRPATH}/${DATABASE}-${DATE}.sql
|
|
tar zcf ${BACKDIRPATH}/${DATABASE}-${DATE}.tar ${BACKDIRPATH}/${DATABASE}-${DATE}.sql
|
|
done
|
|
find ${BACKUP_DIR} -name "rainbond-*.sql.gz" -type f -mtime +30 -exec rm {} \; > /dev/null 2>&1 |