提交 7cdbd720 authored 作者: 陈泽健's avatar 陈泽健

feat(service-check): 增加ujava系统细分识别统一平台功能

- 实现会议预定系统与统一平台系统的自动区分检测
- 根据系统类型动态调整配置文件路径检测策略
- 优化启动脚本权限检查以支持不同系统类型
- 更新备份逻辑以正确处理不同平台的目录结构
- 增强日志导出功能以包含统一平台系统配置文件
上级 8a05ebbd
......@@ -252,6 +252,27 @@ function Write-Log {
}
}
# ================================
# ujava 系统细分:会议预定系统 vs 统一平台系统(PRD补充)
# 规则:
# - ujava 容器存在时:
# - 若宿主机存在 /var/www/java/unifiedPlatform => unified
# - 否则 => meeting
# 说明:仅对传统平台目录体系有意义,但为了统一,这里不强限制平台,按是否存在目录判定即可
# ================================
function Get-UjavaSystemVariant {
param(
[Parameter(Mandatory=$true)] [hashtable]$Server
)
$cmd = "[ -d /var/www/java/unifiedPlatform ] && echo 'UNIFIED' || echo 'MEETING'"
$res = Invoke-SSHCommand -HostName $Server.IP -User $Server.User -Pass $Server.Pass -Port $Server.Port -Command $cmd
$last = (($res.Output -split "`n") | Where-Object { $_ -match '\S' } | Select-Object -Last 1).Trim()
if ($last -eq "UNIFIED") { return "unified" }
return "meeting"
}
# ================================
# 检查依赖
# ================================
......@@ -568,7 +589,7 @@ function Get-SystemType {
if ($container -match '^ujava\d*$') {
$systemInfo.HasUjava = $true
$systemInfo.UjavaContainer = $container
Write-Log -Level "INFO" -Message " 检测到 ujava 容器: $container -> 会议预定系统"
Write-Log -Level "INFO" -Message " 检测到 ujava 容器: $container"
}
elseif ($container -match '^upython\d*$' -and $container -notmatch 'voice') {
$systemInfo.HasUpython = $true
......@@ -2561,9 +2582,13 @@ function Show-HealthReport {
Write-Host "==================================================================" -ForegroundColor Cyan
Write-Host ""
# 系统类型识别
# ✅ 系统类型识别:按 ujavaVariant 输出
$md += "## 系统类型识别"
if ($SystemInfo.HasUjava) { $md += "- 会议预定系统 (ujava): 已部署 [$($SystemInfo.UjavaContainer)]" }
if ($SystemInfo.HasUjava) {
$v = if ($SystemInfo.ContainsKey('UjavaSystemVariant')) { $SystemInfo.UjavaSystemVariant } else { $null }
$label = if ($v -eq 'unified') { '统一平台系统' } else { '会议预定系统' }
$md += "- $label (ujava): 已部署 [$($SystemInfo.UjavaContainer)]"
}
if ($SystemInfo.HasUpython) { $md += "- 运维集控系统 (upython): 已部署 [$($SystemInfo.UpythonContainer)]" }
if ($SystemInfo.HasUpythonVoice) { $md += "- 转录系统 (upython_voice): 已部署 [$($SystemInfo.UpythonVoiceContainer)]" }
if (-not $SystemInfo.HasUjava -and -not $SystemInfo.HasUpython -and -not $SystemInfo.HasUpythonVoice) { $md += "- 未检测到已知系统容器" }
......@@ -2890,22 +2915,36 @@ function Show-HealthReport {
# ================================
function Check-TraditionalPlatformIPs {
param (
[string]$ServerIP,
[string]$Username,
[string]$Password
[Parameter(Mandatory=$true)][string]$ServerIP,
[Parameter(Mandatory=$true)][string]$Username,
[Parameter(Mandatory=$true)][string]$Password,
[Parameter(Mandatory=$false)][hashtable]$SystemInfo
)
Write-Log -Level "INFO" -Message "[CFG] 开始检测传统平台配置文件 IP..."
$ujavaVariant = "meeting"
if ($SystemInfo -and $SystemInfo.ContainsKey('UjavaSystemVariant') -and $SystemInfo.UjavaSystemVariant) {
$ujavaVariant = [string]$SystemInfo.UjavaSystemVariant
}
# meeting / unified 路径分支
$webRoot = "/var/www/java"
if ($ujavaVariant -eq "unified") {
$webRoot = "/var/www/java/unifiedPlatform"
}
$Paths = @(
"/var/www/java/api-java-meeting2.0/config",
"/var/www/java/external-meeting-api/config",
"/var/www/java/ubains-web-2.0/static/config.json",
"/var/www/java/ubains-web-admin/static/config.json",
"$webRoot/ubains-web-2.0/static/config.json",
"$webRoot/ubains-web-admin/static/config.json",
# 会议预定系统才有 h5(统一平台如果没有就会自动跳过,不影响,但这里按更严谨处理)
"/var/www/java/ubains-web-h5/static/h5/config.js",
"/var/www/java/ubains-web-h5/static/h5/config.json",
"/var/www/java/nginx-conf.d"
"$webRoot/nginx-conf.d"
)
$AllowedIPs = @("172.17.0.1", "127.0.0.1", $ServerIP)
$hasUnauthorized = $false
......@@ -2922,10 +2961,6 @@ function Check-TraditionalPlatformIPs {
Write-Log -Level "WARN" -Message ("[CFG] 未授权 IP: {0} (路径: {1})" -f $IP, $Path)
}
}
# 合法 IP 不打印
} else {
# 无 IP 或路径不存在:认为是“无配置/无 IP”,不打印,避免噪音
continue
}
}
......@@ -3178,10 +3213,13 @@ function Check-FilePermissions {
"/data/services/api/python-voice/*.sh"
)
} else {
# ✅ 传统平台:根据 ujava 系统细分调整路径
$ujavaVariant = $null
if ($SystemInfo -and $SystemInfo.ContainsKey('UjavaSystemVariant')) { $ujavaVariant = $SystemInfo.UjavaSystemVariant }
$targets += @(
"/var/www/java/api-java-meeting2.0/run.sh",
"/var/www/java/external-meeting-api/run.sh",
"/var/www/java/start.sh",
"/var/www/html/start.sh",
"/var/www/wifi-local/config.ini",
"/var/www/wifi-local/startDB.sh",
......@@ -3192,6 +3230,15 @@ function Check-FilePermissions {
"/var/www/emqx/config/*.conf",
"/etc/rc.d/rc.local"
)
# start.sh 路径分支:unified 优先检查 unifiedPlatform/start.sh
if ($ujavaVariant -eq 'unified') {
$targets += "/var/www/java/unifiedPlatform/start.sh"
$targets += "/var/www/java/unifiedPlatform/nginx-conf.d/*.conf"
} else {
$targets += "/var/www/java/start.sh"
$targets += "/var/www/java/nginx-conf.d/*.conf"
}
}
Write-Log -Level "INFO" -Message "[PERM] 目标列表生成 (平台: $PlatformType)"
......@@ -3479,35 +3526,45 @@ function DataBakup {
"mkdir -p $bakDir"
)
$hasUjava = ($SystemInfo.ContainsKey('ujava') -and $SystemInfo['ujava'])
$hasUpython = ($SystemInfo.ContainsKey('upython') -and $SystemInfo['upython'])
# ✅ 修复:SystemInfo key 对齐 Get-SystemType 的返回结构
$hasUjava = [bool]($SystemInfo.HasUjava)
$hasUpython = [bool]($SystemInfo.HasUpython)
$hasCardtable = ($SystemInfo.ContainsKey('cardtable') -and $SystemInfo['cardtable'])
$hasPaperless = ($SystemInfo.ContainsKey('paperless') -and $SystemInfo['paperless'])
$hasUmysql = ($SystemInfo.ContainsKey('umysql') -and $SystemInfo['umysql'])
$ujavaVariant = "meeting"
if ($SystemInfo.ContainsKey('UjavaSystemVariant') -and $SystemInfo.UjavaSystemVariant) {
$ujavaVariant = [string]$SystemInfo.UjavaSystemVariant
}
# 仅实现传统平台备份
if ($PlatformType -eq 'old') {
# 总是尝试复制关键目录,无论容器检测结果
# ✅ ujava:按 meeting/unified 分支备份
if ($hasUjava) {
if ($ujavaVariant -eq 'unified') {
$cmds += "[ -d /var/www/java/unifiedPlatform ] && cp -a /var/www/java/unifiedPlatform $bakDir/"
} else {
$cmds += "[ -d /var/www/java ] && cp -a /var/www/java $bakDir/"
}
}
if ($hasUpython) {
$cmds += "[ -d /var/www/html ] && cp -a /var/www/html $bakDir/"
# 其他按需目录
if ($hasCardtable) { $cmds += "[ -d /var/www/wifi-local ] && cp -a /var/www/wifi-local $bakDir/" }
if ($hasPaperless) { $cmds += "[ -d /var/www/paperless ] && cp -a /var/www/paperless $bakDir/" }
}
$cmds += "[ -d /var/www/emqx ] && cp -a /var/www/emqx $bakDir/"
$cmds += "[ -d /var/www/redis ] && cp -a /var/www/redis $bakDir/"
} else {
Write-Log -Level "WARN" -Message "新统一平台备份暂未实现,已跳过"
}
# 数据库备份 (umysql 容器内)
if ($hasUmysql -and $PlatformType -eq 'old') {
# ✅ umysql 判定建议改为:直接远端检测容器,而不是 SystemInfo['umysql']
if ($PlatformType -eq 'old') {
$dbUser = "root"; $dbPass = "dNrprU&2S"; $dbs = @("ubains","devops")
$cmds += "mkdir -p /tmp/bak_sql"
foreach ($db in $dbs) {
# 在 bash 的单引号上下文中安全地插入密码: -p'password'
$passEsc = "'\'" + "'" + $dbPass + "'\'" + "'" # 生成: '\''password'\'' -> 等效于 bash 中的 'password'
$mysqldumpCmd = "if docker ps --format '{{.Names}}' | grep -q '^umysql$'; then docker exec umysql sh -c 'mysqldump -u" + $dbUser + " -p" + $passEsc + " " + $db + " > /tmp/bak_sql/" + $db + "_$(date +%Y%m%d%H%M%S).sql'; fi"
$cmds += $mysqldumpCmd
$cmds += "if docker ps --format '{{.Names}}' | grep -q '^umysql$'; then docker exec umysql sh -c ""mysqldump -u${dbUser} -p'${dbPass}' --single-transaction --quick --lock-tables=false ${db}"" > /tmp/bak_sql/${db}_$(date +%Y%m%d%H%M%S).sql; fi || true"
}
$cmds += "if ls /tmp/bak_sql/*.sql >/dev/null 2>&1; then cp -a /tmp/bak_sql/*.sql $bakDir/; fi || true"
}
......@@ -3630,6 +3687,19 @@ function Main {
# 检测系统类型
$systemInfo = Get-SystemType -Server $server
Write-Host ""
# ✅ ujava 系统细分
if ($systemInfo.HasUjava) {
$ujavaVariant = Get-UjavaSystemVariant -Server $server
$systemInfo.UjavaSystemVariant = $ujavaVariant
if ($ujavaVariant -eq "unified") {
Write-Log -Level "INFO" -Message " [系统细分] ujava -> 统一平台系统 (检测到 /var/www/java/unifiedPlatform)"
} else {
Write-Log -Level "INFO" -Message " [系统细分] ujava -> 会议预定系统 (未检测到 /var/www/java/unifiedPlatform)"
}
} else {
$systemInfo.UjavaSystemVariant = "N/A"
}
# 初始化结果变量
$ujavaContainerResults = @()
......@@ -3745,7 +3815,8 @@ function Main {
if ($platformType -eq "new") {
Check-NewPlatformIPs -ServerIP $server.IP -Username $server.User -Password $server.Pass
} elseif ($platformType -eq "old") {
Check-TraditionalPlatformIPs -ServerIP $server.IP -Username $server.User -Password $server.Pass
# ✅ 关键:把 systemInfo 传进去,才能按 meeting/unified 选路径
Check-TraditionalPlatformIPs -ServerIP $server.IP -Username $server.User -Password $server.Pass -SystemInfo $systemInfo
}
Write-Log -Level "INFO" -Message "========== 结束检测配置文件 IP =========="
......
......@@ -192,6 +192,31 @@ UPYTHON_VOICE_CONTAINER=${upython_voice_name:-}
EOF
}
# ------------------------------
# ujava 系统细分(meeting vs unified)
# 仅 old 平台 + 存在 ujava 容器时判定:
# - /var/www/java/unifiedPlatform 存在 => unified
# - 否则 => meeting
# 写入 KV: sys.ujava.variant
# ------------------------------
detect_ujava_variant() {
local platform="$1"
local has_ujava="$2"
if [[ "$platform" != "old" || "$has_ujava" -ne 1 ]]; then
report_kv_set "sys.ujava.variant" "N/A"
return 0
fi
if [[ -d /var/www/java/unifiedPlatform ]]; then
report_kv_set "sys.ujava.variant" "unified"
log INFO "[系统细分] ujava -> 统一平台系统 (检测到 /var/www/java/unifiedPlatform)"
else
report_kv_set "sys.ujava.variant" "meeting"
log INFO "[系统细分] ujava -> 会议预定系统 (未检测到 /var/www/java/unifiedPlatform)"
fi
}
# ------------------------------
# 3) 服务检测配置(对齐 ps1)
# ------------------------------
......@@ -710,13 +735,25 @@ check_file_permissions() {
"/data/middleware/nginx/config/*.conf" "/data/middleware/emqx/config/*.conf"
"/data/services/api/python-cmdb/*.sh" "/data/services/api/python-voice/*.sh" )
else
targets+=( "/var/www/java/api-java-meeting2.0/run.sh" "/var/www/java/external-meeting-api/run.sh" "/var/www/java/start.sh"
local ujava_variant
ujava_variant="$(report_kv_get "sys.ujava.variant")"
[[ -z "$ujava_variant" || "$ujava_variant" == "N/A" ]] && ujava_variant="meeting"
targets+=( "/var/www/java/api-java-meeting2.0/run.sh" "/var/www/java/external-meeting-api/run.sh"
"/var/www/html/start.sh"
"/var/www/wifi-local/config.ini" "/var/www/wifi-local/startDB.sh" "/var/www/wifi-local/wifi*"
"/var/www/paperless/run.sh" "/var/www/paperless/start.sh"
"/var/www/redis/redis-*.conf"
"/var/www/emqx/config/*.conf"
"/etc/rc.d/rc.local" )
if [[ "$ujava_variant" == "unified" ]]; then
targets+=( "/var/www/java/unifiedPlatform/start.sh"
"/var/www/java/unifiedPlatform/nginx-conf.d/*.conf" )
else
targets+=( "/var/www/java/start.sh"
"/var/www/java/nginx-conf.d/*.conf" )
fi
fi
local miss=0 exist=0
......@@ -864,64 +901,6 @@ collect_container_info() {
fi
}
# ------------------------------
# 11) 日志导出(增强:记录导出文件列表)
# ------------------------------
export_logs() {
local platform="$1"
local has_ujava="$2"
local has_upython="$3"
local ujava_container="$4"
local upython_container="$5"
log INFO "========== 服务日志导出 =========="
local export_dir="$SCRIPT_DIR/logs_$(get_primary_ip)_${TS}"
mkdir -p "$export_dir"
# 收集导出结果(写入报告KV)
local exported_files=()
copy_if_exists() {
local src="$1"
local dst="$2"
if [[ -f "$src" ]]; then
cp -f "$src" "$dst" 2>/dev/null || true
exported_files+=("$(basename "$dst")|$src")
return 0
fi
return 1
}
if [[ "$platform" == "new" && "$has_ujava" -eq 1 ]]; then
# ...existing code...(保持不变,但把 cp 的地方尽量改用 copy_if_exists;不改也能跑)
:
fi
if [[ "$platform" == "old" ]]; then
if [[ "$has_ujava" -eq 1 ]]; then
copy_if_exists "/var/www/java/api-java-meeting2.0/logs/ubains-INFO-AND-ERROR.log" "$export_dir/对内后端_ubains-INFO-AND-ERROR.log" || true
copy_if_exists "/var/www/java/external-meeting-api/logs/ubains-INFO-AND-ERROR.log" "$export_dir/对外后端_ubains-INFO-AND-ERROR.log" || true
fi
if [[ "$has_upython" -eq 1 ]]; then
copy_if_exists "/var/www/html/log/error.log" "$export_dir/运维集控_error.log" || true
copy_if_exists "/var/www/html/log/uinfo.log" "$export_dir/运维集控_uinfo.log" || true
copy_if_exists "/var/www/html/log/uwsgi.log" "$export_dir/运维集控_uwsgi.log" || true
fi
fi
if [[ "${#exported_files[@]}" -gt 0 ]]; then
report_kv_set "log_export.dir" "$export_dir"
report_kv_set "log_export.files" "$(printf "%s\n" "${exported_files[@]}")"
else
report_kv_set "log_export.dir" "$export_dir"
report_kv_set "log_export.files" ""
fi
log SUCCESS "日志导出目录: $export_dir"
echo "$export_dir"
}
# ------------------------------
# 12) Android 自检(增强:记录状态/导出目录)
......@@ -1077,13 +1056,21 @@ _cfgip_list_files_old() {
_cfgip_add_glob_files "/var/www/java/api-java-meeting2.0/config" yml yaml properties js json conf
_cfgip_add_glob_files "/var/www/java/external-meeting-api/config" yml yaml properties js json conf
_cfgip_add_file_if_exists "/var/www/java/ubains-web-2.0/static/config.json"
_cfgip_add_file_if_exists "/var/www/java/ubains-web-admin/static/config.json"
local ujava_variant web_root
ujava_variant="$(report_kv_get "sys.ujava.variant")"
[[ -z "$ujava_variant" || "$ujava_variant" == "N/A" ]] && ujava_variant="meeting"
web_root="/var/www/java"
[[ "$ujava_variant" == "unified" ]] && web_root="/var/www/java/unifiedPlatform"
_cfgip_add_file_if_exists "$web_root/ubains-web-2.0/static/config.json"
_cfgip_add_file_if_exists "$web_root/ubains-web-admin/static/config.json"
_cfgip_add_glob_files "$web_root/nginx-conf.d" conf
# meeting 才常见 h5(unified 可能没有;file-exists 会兜底)
_cfgip_add_file_if_exists "/var/www/java/ubains-web-h5/static/h5/config.js"
_cfgip_add_file_if_exists "/var/www/java/ubains-web-h5/static/h5/config.json"
_cfgip_add_glob_files "/var/www/java/nginx-conf.d" conf
_cfgip_add_glob_files "/var/www/html/conf" conf json js
_cfgip_add_glob_files "/var/www/html/nginx-conf" conf
_cfgip_add_file_if_exists "/var/www/html/web-vue-rms/static/config.json"
......@@ -1381,8 +1368,22 @@ data_backup() {
# 目录/文件清单(按 ps1 的传统平台思路)
if [[ "$platform" == "old" ]]; then
local ujava_variant
ujava_variant="$(report_kv_get "sys.ujava.variant")"
[[ -z "$ujava_variant" || "$ujava_variant" == "N/A" ]] && ujava_variant="meeting"
if [[ "${HAS_UJAVA:-0}" -eq 1 ]]; then
if [[ "$ujava_variant" == "unified" ]]; then
copy_tree_if_exists "/var/www/java/unifiedPlatform" "var_www_java_unifiedPlatform" || true
else
copy_tree_if_exists "/var/www/java" "var_www_java" || true
fi
fi
if [[ "${HAS_UPYTHON:-0}" -eq 1 ]]; then
copy_tree_if_exists "/var/www/html" "var_www_html" || true
fi
copy_tree_if_exists "/var/www/redis" "var_www_redis" || true
copy_tree_if_exists "/var/www/emqx" "var_www_emqx" || true
else
......@@ -1527,11 +1528,20 @@ export_logs() {
# 注:ps1 通过 docker cp 容器内 /var/log/nginx/error.log
# --------------------------
if [[ "$platform" == "old" ]]; then
local ujava_variant
ujava_variant="$(report_kv_get "sys.ujava.variant")"
[[ -z "$ujava_variant" || "$ujava_variant" == "N/A" ]] && ujava_variant="meeting"
if [[ "$has_ujava" -eq 1 ]]; then
copy_if_exists "/var/www/java/api-java-meeting2.0/logs/ubains-INFO-AND-ERROR.log" "$export_dir/对内后端_ubains-INFO-AND-ERROR.log" || true
copy_if_exists "/var/www/java/external-meeting-api/logs/ubains-INFO-AND-ERROR.log" "$export_dir/对外后端_ubains-INFO-AND-ERROR.log" || true
# 容器内 nginx error.log(ujava 容器)
# ✅ unified:补导出 unifiedPlatform 前端 config(存在即导出)
if [[ "$ujava_variant" == "unified" ]]; then
copy_if_exists "/var/www/java/unifiedPlatform/ubains-web-2.0/static/config.json" "$export_dir/unified_web-2.0_config.json" || true
copy_if_exists "/var/www/java/unifiedPlatform/ubains-web-admin/static/config.json" "$export_dir/unified_web-admin_config.json" || true
fi
copy_from_container_if_exists "$ujava_container" "/var/log/nginx/error.log" "$export_dir/ujava容器_nginx_error.log" || true
fi
......@@ -1539,8 +1549,6 @@ export_logs() {
copy_if_exists "/var/www/html/log/error.log" "$export_dir/运维集控_error.log" || true
copy_if_exists "/var/www/html/log/uinfo.log" "$export_dir/运维集控_uinfo.log" || true
copy_if_exists "/var/www/html/log/uwsgi.log" "$export_dir/运维集控_uwsgi.log" || true
# 容器内 nginx error.log(upython 容器)
copy_from_container_if_exists "$upython_container" "/var/log/nginx/error.log" "$export_dir/upython容器_nginx_error.log" || true
fi
fi
......@@ -1640,11 +1648,26 @@ write_report() {
w ""
fi
w "## 系统识别"
w ""
w '```'
printf "%s\n" "$systems_txt" >> "$report_file"
w '```'
w "## 系统类型识别"
if [[ "${HAS_UJAVA:-0}" -eq 1 ]]; then
local v label
v="$(report_kv_get "sys.ujava.variant")"
if [[ "$v" == "unified" ]]; then
label="统一平台系统"
else
label="会议预定系统"
fi
w "- ${label} (ujava): 已部署 [${UJAVA_CONTAINER}]"
fi
if [[ "${HAS_UPYTHON:-0}" -eq 1 ]]; then
w "- 运维集控系统 (upython): 已部署 [${UPYTHON_CONTAINER}]"
fi
if [[ "${HAS_UPYTHON_VOICE:-0}" -eq 1 ]]; then
w "- 转录系统 (upython_voice): 已部署 [${UPYTHON_VOICE_CONTAINER}]"
fi
if [[ "${HAS_UJAVA:-0}" -eq 0 && "${HAS_UPYTHON:-0}" -eq 0 && "${HAS_UPYTHON_VOICE:-0}" -eq 0 ]]; then
w "- 未检测到已知系统容器"
fi
w ""
# ✅ 新增:日志导出文件清单(点4)
......@@ -1872,6 +1895,10 @@ main() {
sys_kv="$(detect_systems)"
eval "$sys_kv"
log INFO "[系统识别] HAS_UJAVA=$HAS_UJAVA HAS_UPYTHON=$HAS_UPYTHON HAS_UPYTHON_VOICE=$HAS_UPYTHON_VOICE containers=(ujava=$UJAVA_CONTAINER upython=$UPYTHON_CONTAINER upython_voice=$UPYTHON_VOICE_CONTAINER)"
detect_ujava_variant "$platform" "$HAS_UJAVA"
report_add ""
report_add "## 系统类型识别(meeting/unified)"
report_add "- sys.ujava.variant: $(report_kv_get "sys.ujava.variant")"
report_add ""
report_add "## 系统识别(摘要)"
......
......@@ -54,7 +54,7 @@
识别规则(基于容器):
- ujava 容器存在:
- 说明:部署了会议预定系统(Java 会议相关服务)
- 判断宿主机的目录是否存在:/var/www/java/unifiedPlatform目录,如果存在则归类为统一平台系统,否则为会议预定系统
- upython 容器存在:
- 说明:部署了运维集控系统(Python CMDB / 运维相关服务);
- upython_voice 容器存在:
......@@ -207,12 +207,20 @@
检测目标服务器上的配置文件中的IP地址配置是否正确为目标服务器IP,需判断传统平台还是新统一平台
传统平台:
如果有ujava容器:
1、检测/var/www/java/api-java-meeting2.0/config目录下的yml、properties、js格式的配置文件中的IP地址
2、检测/var/www/java/external-meeting-api/config目录下的yml、properties、js格式的配置文件中的IP地址
3、检测/var/www/java/ubains-web-2.0/static目录下的config.json配置文件的IP地址
4、检测/var/www/java/ubains-web-admin/static目录下的config.json配置文件的IP地址
5、检测/var/www/java/ubains-web-h5/static/h5目录下的config.js或config.json配置文件的IP地址
6、检测/var/www/java/nginx-conf.d目录下的conf配置文件中的IP地址
1、判断系统为会议预定系统,还是统一平台系统
- 预定系统:
- 检测/var/www/java/api-java-meeting2.0/config目录下的yml、properties、js格式的配置文件中的IP地址
- 检测/var/www/java/external-meeting-api/config目录下的yml、properties、js格式的配置文件中的IP地址
- 检测/var/www/java/ubains-web-2.0/static目录下的config.json配置文件的IP地址
- 检测/var/www/java/ubains-web-admin/static目录下的config.json配置文件的IP地址
- 检测/var/www/java/ubains-web-h5/static/h5目录下的config.js或config.json配置文件的IP地址
- 检测/var/www/java/nginx-conf.d目录下的conf配置文件中的IP地址
- 统一平台系统:
- 检测/var/www/java/api-java-meeting2.0/config目录下的yml、properties、js格式的配置文件中的IP地址
- 检测/var/www/java/external-meeting-api/config目录下的yml、properties、js格式的配置文件中的IP地址
- 检测/var/www/java/unifiedPlatform/ubains-web-2.0/static目录下的config.json配置文件的IP地址
- 检测/var/www/java/unifiedPlatform/ubains-web-admin/static目录下的config.json配置文件的IP地址
- 检测/var/www/java/unifiedPlatform/nginx-conf.d目录下的conf配置文件中的IP地址
如果有upython容器:
1、检测/var/www/html目录下的conf配置文件的IP地址
......@@ -286,9 +294,15 @@
传统平台:
如果有 ujava 容器:
1)检测 /var/www/java/api-java-meeting2.0 目录下 run.sh 启动脚本权限
2)检测 /var/www/java/external-meeting-api 目录下 run.sh 启动脚本权限
3)检测 /var/www/java 目录下 start.sh 启动脚本权限
1)根据类型检测对应脚本路径
- 会议预定系统:
- 检测 /var/www/java/api-java-meeting2.0 目录下 run.sh 启动脚本权限
- 检测 /var/www/java/external-meeting-api 目录下 run.sh 启动脚本权限
- 检测 /var/www/java 目录下 start.sh 启动脚本权限
- 统一平台系统:
- 检测 /var/www/java/api-java-meeting2.0 目录下 run.sh 启动脚本权限
- 检测 /var/www/java/external-meeting-api 目录下 run.sh 启动脚本权限
- 检测 /var/www/java/unifiedPlatform 目录下 start.sh 启动脚本权限
如果有 upython 容器:
1)检测 /var/www/html 目录下 start.sh 启动脚本权限
如果有 cardtable 容器:
......@@ -340,7 +354,11 @@
传统平台:
如果有ujava容器:
1、将/var/www/java目录复制到/home/bakup目录下
1、根据系统类型判断
- 会议预定系统:
- 将/var/www/java目录复制到/home/bakup目录下
- 统一平台系统:
- 将/var/www/java/unifiedPlatform目录复制到/home/bakup目录下
如果有upython容器:
1、将/var/www/html目录复制到/home/bakup目录下
如果有cardtable容器:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论