2026-06-12 11:48:17 +08:00
|
|
|
#!/bin/bash
|
|
|
|
|
#ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'P0i8a1o9@#';
|
|
|
|
|
#ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'P0i8a1o9@#';
|
|
|
|
|
#FLUSH PRIVILEGES;
|
|
|
|
|
#chmod +x /mydata/docker/piaowu/mysql/piaowudbbak.sh
|
|
|
|
|
DATE=$(date +%Y%m%d_%H%M%S)
|
|
|
|
|
BACKUP_DIR="/mydata/docker/piaowu/mysql/bak"
|
|
|
|
|
MYSQL_USER="root"
|
|
|
|
|
MYSQL_PASSWORD="P2i0a2o6w@u"
|
|
|
|
|
DATABASE_NAME="piaowu"
|
|
|
|
|
CONTAINER_NAME="piaowumysql" # 替换为你的MySQL容器名或ID
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 创建备份目录(如果不存在)
|
|
|
|
|
mkdir -p $BACKUP_DIR
|
|
|
|
|
|
|
|
|
|
# 在MySQL容器内部执行 mysqldump 命令
|
|
|
|
|
docker exec $CONTAINER_NAME \
|
2026-06-12 14:55:09 +08:00
|
|
|
sh -c "exec mysqldump -u$MYSQL_USER -p'$MYSQL_PASSWORD' $DATABASE_NAME" > "$BACKUP_DIR/piaowu_bak_$DATE.sql"
|
2026-06-12 11:48:17 +08:00
|
|
|
|
|
|
|
|
# 检查是否成功导出
|
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
|
echo "✅ 数据库备份成功: $BACKUP_DIR/piaowu_bak_$DATE.sql"
|
|
|
|
|
else
|
|
|
|
|
echo "❌ 数据库备份失败"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# 删除超过30天的旧备份
|
|
|
|
|
find $BACKUP_DIR -type f -name "*.sql" -mtime +30 -exec rm {} \;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#定时执行备份任务 cron
|
2026-06-12 14:55:09 +08:00
|
|
|
#0 1 * * * /mydata/docker/piaowu/mysql/piaowudbbak.sh >> /mydata/docker/piaowu/mysql/bak.log 2>&1
|
|
|
|
|
#查看:crontab -l 编辑:crontab -e
|