跳到主要内容

备份与恢复

常见维护步骤​

1:关闭程序,a systemctl stop id4server或者 ps aux |grep id4server找到pid 终止pid 2:备份数据库 pg_dump 或其他工具 数据库备份工具和导入工具 导出与导入工具要保证前后一致性 目前接受的工具为:

1:navicat 2:pg_dump/psql 3:pgAdmin 4:DBeaver

其他工具暂时不考虑

3更新数据库 执行升级upgrade sql 4.更新程序 覆盖id4server 和 public 前端资源 如果证书更新 请替换证书 如果data更新,则千万要注意保护客户数据,仅更新我们内置模版等数据

ITSM备份操作说明

1.程序备份​

进入应用服务器程序所在目录,通常为/var/www,文件一般命名为id4server,如果非此命名应为非bak文件夹,文件夹名中日期最新的文件夹 备份应用服务器命令: cp -r id4server id4server_bak_250506

表示复制当前目标到一个新的文件夹 已备份文件夹名中的数字代表备份日期 如果同一日期有多次备份则在日期之后追加abcd代表次序

压缩下载(可选)

(1) 压缩单个文件 bash zip 压缩包名.zip 文件名 示例:将 file.txt 打包为 archive.zip

bash zip archive.zip file.txt (2) 压缩多个文件 bash zip 压缩包名.zip 文件1 文件2 文件3 示例:将 file1.txt、file2.log 和 image.jpg 打包为 files.zip

bash zip files.zip file1.txt file2.log image.jpg (3) 压缩整个目录(递归压缩) bash zip -r 压缩包名.zip 目录名 示例:将 mydir 目录及其子目录打包为 mydir.zip

bash zip -r mydir.zip mydir

2.数据库备份​

备份命令 切换到postgres su postgres 执行以下命令备份数据 pg_dump -U postgres -h 127.0.0.1 -p 8432 id4v4 > xxxx_id4v4_bak_250506.sql(推荐)


命令参数解释如下: -U 用户 -h 地址 -p 端口 一般情况下 选择id4vx 版本高的数据库即为最新数据库 备份格式为sql 备份文件名中为备份日期,如果同一日期有多次备份则在日期之后追加abcd代表次序

###金仓数据库备份命令 ./sys_dump -U 用户名 -p 端口 -d 数据库名 -f /tmp/backup/id4v4_back20260509.sql

3.恢复命令​

bin>psql -U postgres -h 127.0.0.1 -p 8432 -d hnzyy < ./hnzyyid4v1bak.sql(推荐)

UPDATE user SET passwd_hash = ( SELECT passwd_hash FROM user WHERE username = 'demo' ) WHERE username = 'admin'; ###金仓数据库恢复命令 ksql -U 用户名 -p 端口 -d 数据库名 < 恢复文件

4.文件恢复​

在实施机上恢复导入客户的sql文件,并升级客户到新环境

资源管理器 在work/项目/日期/路径下 在地址栏输入 cmd 进入当前目录的cmd窗口 执行 bin>psql -U postgres -h 127.0.0.1 -p 8432 -d hnzyy < ./hnzyyid4v1bak.sql windows格式示例 psql -U postgres -h 127.0.0.1 -p 8432 -d qzsy_ideav1 < id4_back_20260317.sql 导入目标数据库后,开发人员开始比对 开发环境db与客户环境db 的数据库表结构后 制作升级的sql文件 upgrade

其中目标库命名方式为 项目_id4vx upgrade的升级 id4_upgrade_for_qzsy_2026_0326.sql

工程师获取升级sql后可到客户环境(前提是已备份) 执行该升级文件 执行方式 优选考虑 1:图形化工具 2:命令行 3:id4系统管理页面

修改结构 不损毁原有数据 但是可能要修正

pg_dump 默认 = 纯文本 SQL
生产环境 90% 场景用 -F c 自定义格式
超大库必须用 -F d + 并行导出