数据库备份命令gs_dump在root 用户下无法运行?

要写个定时备份数据的脚本:postgres_backup.sh:(脚本文件放在/opt/dbback/下):
其中备份命令部份:
gs_dump -U omm -W omm@123 -f /opt/dbback/postgres_bak.sql -p 5432 postgres -F p

(该语名在omm用户下可以正常运行,但在root用户和admin用户下(管事员角色) 提示gs_dump: command not found)
在omm用户下,运行:/opt/dbback/postgres_backup.sh 可正常备份文件。但在root下运行:/opt/dbback/postgres_backup.sh提示gs_dump: command not found。这应该是权限问题,已进行如下操作:
chmod u+x /opt/dbback/pgsql_backup.sh
chmod u+x /opt/huawei/install/app/bin/gs_dump
但没效果。是什么原因呢?root用户无运行gs_dump权限?能通过什么方式,实现以下脚本和程序:
/opt/dbback/pgsql_backup.sh
/opt/huawei/install/app/bin/gs_dump
不区分用户,且都可以运行?
即类似: 运行在多用户模式下:WantedBy=multi-user.target
(系统及数据库是openEuler22.03+openGauss6.0.1)

su - omm -c “gs_dump xxxxx”

1 Like

把omm的用户配置忘全局的bashrc里面填写一部分,应该也可以用gs_dump吧