MariaDB容器升级脚本

您可以编写以下Shell脚本来实现您的需求:

#!/bin/bash

# 等待10秒
echo "等待10秒后执行mariadb升级..."
sleep 10

# 执行mariadb升级命令并输出日志到控制台
echo "开始执行mariadb升级..."
docker exec -it mariadb_container mariadb-upgrade -uroot -p"OceanXECM!" 2>&1

# 检查命令执行结果
if [ $? -eq 0 ]; then
    echo "mariadb升级执行成功!"
else
    echo "mariadb升级执行失败!"
    exit 1
fi

如果您不知道容器名称,可以使用以下版本的脚本:

#!/bin/bash

# 等待10秒
echo "等待10秒后执行mariadb升级..."
sleep 10

# 获取mariadb容器名称(假设只有一个mariadb容器)
CONTAINER_NAME=$(docker ps --filter "name=mariadb" --format "{{.Names}}")

# 如果没有找到特定名称的容器,尝试查找包含mariadb的容器
if [ -z "$CONTAINER_NAME" ]; then
    CONTAINER_NAME=$(docker ps --format "{{.Names}}" | grep -i mariadb | head -n 1)
fi

# 如果仍然没有找到容器,退出脚本
if [ -z "$CONTAINER_NAME" ]; then
    echo "错误:未找到mariadb容器!"
    exit 1
fi

echo "找到mariadb容器: $CONTAINER_NAME"

# 执行mariadb升级命令并输出日志到控制台
echo "开始执行mariadb升级..."
docker exec -it "$CONTAINER_NAME" mariadb-upgrade -uroot -p"OceanXECM!" 2>&1

# 检查命令执行结果
if [ $? -eq 0 ]; then
    echo "mariadb升级执行成功!"
else
    echo "mariadb升级执行失败!"
    exit 1
fi

使用说明:

  1. 将上述代码保存为一个文件,例如 upgrade_mariadb.sh
  2. 给脚本执行权限:chmod +x upgrade_mariadb.sh
  3. 运行脚本:./upgrade_mariadb.sh

注意事项:

  • 2>&1 将标准错误输出重定向到标准输出,确保所有日志都显示在控制台
  • 脚本会等待10秒后执行升级命令
  • 第二个版本的脚本会自动查找mariadb容器,如果您的容器名称不是默认的,请修改相应的过滤条件
  • 确保docker守护进程正在运行,并且您有执行docker命令的权限
  • 如果您的密码中包含特殊字符,请确保正确转义
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值