备份与恢复
常见维护步骤
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 + 并行导出