deploy(M00-E): 补充备份恢复检查模板

This commit is contained in:
Codex
2026-06-15 16:55:52 +08:00
parent c3be30d4c7
commit 292ab7f062
20 changed files with 151 additions and 21 deletions
+34 -1
View File
@@ -5,6 +5,37 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck source=lib.sh
. "${SCRIPT_DIR}/lib.sh"
qipai_backup_status() {
local policy_template runbook
policy_template="${SCRIPT_DIR}/../../deploy/backup/backup-policy.template.json"
runbook="${SCRIPT_DIR}/../../deploy/backup/backup-restore-runbook.md"
qipai_info "backup root: ${APP_ROOT}/backups"
qipai_info "mysql backup dir: ${APP_ROOT}/backups/mysql"
qipai_info "emqx backup dir: ${APP_ROOT}/backups/emqx"
qipai_info "files backup dir: ${APP_ROOT}/backups/files"
qipai_info "policy template: ${policy_template}"
qipai_info "runbook: ${runbook}"
[ -f "$policy_template" ] && qipai_pass "backup policy template exists" || qipai_warn "backup policy template not found"
[ -f "$runbook" ] && qipai_pass "backup/restore runbook exists" || qipai_warn "backup/restore runbook not found"
qipai_command_status mysqldump
qipai_command_status mysql
qipai_command_status tar
qipai_command_status gzip
if command -v emqx >/dev/null 2>&1; then
qipai_pass "emqx export command available"
else
qipai_warn "emqx command not found; EMQX export unavailable"
fi
for dir in "${APP_ROOT}/backups/mysql" "${APP_ROOT}/backups/emqx" "${APP_ROOT}/backups/files" "${APP_ROOT}/backups/manual"; do
[ -d "$dir" ] && qipai_pass "backup directory exists: $dir" || qipai_warn "backup directory not found: $dir"
done
}
qipai_backup() {
qipai_require_root_for_write
local backup_dir manifest
@@ -15,6 +46,7 @@ qipai_backup() {
{
"generatedAt": "$(qipai_timestamp)",
"type": "M00_MANIFEST_ONLY",
"policyTemplate": "deploy/backup/backup-policy.template.json",
"mysql": "SKIPPED_NO_CONFIG",
"emqx": "SKIPPED_NO_CONFIG",
"uploads": "SKIPPED_NO_UPLOAD_DIR",
@@ -26,5 +58,6 @@ EOF
if [ "${1:-}" = "--run" ]; then
qipai_backup
elif [ "${1:-}" = "--status" ]; then
qipai_backup_status
fi