58 lines
1.4 KiB
Bash
Executable File
58 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Oracle 云实例优化脚本
|
||
# 用于删除小实例并将存储空间重新分配给 A1 实例
|
||
|
||
set -e # 遇到错误时退出
|
||
|
||
echo "开始执行 Oracle 云实例优化..."
|
||
|
||
# 检查必要工具
|
||
if ! command -v terraform &> /dev/null; then
|
||
echo "错误: 未找到 Terraform"
|
||
exit 1
|
||
fi
|
||
|
||
if ! command -v oci &> /dev/null; then
|
||
echo "警告: 未找到 OCI CLI,建议安装以便更好地管理 Oracle 云资源"
|
||
fi
|
||
|
||
# 获取当前工作目录
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
||
echo "当前目录: $SCRIPT_DIR"
|
||
|
||
# 配置环境变量(如果需要)
|
||
export TF_VAR_a1_storage_size_gb=${TF_VAR_a1_storage_size_gb:-200}
|
||
|
||
echo "步骤 1: 初始化 Terraform"
|
||
terraform init
|
||
|
||
echo "步骤 2: 检查当前状态"
|
||
terraform plan -out=tfplan.out
|
||
|
||
echo "步骤 3: 显示计划摘要"
|
||
terraform show tfplan.out
|
||
|
||
read -p "确认要执行此计划吗?这将删除小实例并重新分配存储空间 (y/N): " -n 1 -r
|
||
echo
|
||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||
echo "操作已取消"
|
||
rm -f tfplan.out
|
||
exit 0
|
||
fi
|
||
|
||
echo "步骤 4: 应用变更"
|
||
terraform apply tfplan.out
|
||
|
||
echo "步骤 5: 清理临时文件"
|
||
rm -f tfplan.out
|
||
|
||
echo "优化完成!"
|
||
echo "已成功删除小实例并将更多存储空间分配给 A1 实例。"
|
||
|
||
# 显示当前资源状态
|
||
echo "当前资源状态:"
|
||
terraform show
|
||
|
||
echo "如需进一步验证,请检查您的 Oracle 云控制台。" |