linux cron上下文中runuser命令的奇怪行为

iyfjxgzm  于 2022-12-29  发布在  Linux
关注(0)|答案(1)|浏览(111)

我尝试运行包含以下代码的脚本,当我从根级别或任何其他管理员帐户级别运行相同的命令时,它生成了dump文件,但如果我将其作为cron-job运行,此行似乎不起作用,因为我在系统中的任何地方都找不到dump_().sql文件。
已使用crontab -e为root帐户创建了Cron-jobs,我可以看到它们正在syslog中运行

echo $(runuser -l postgresql -c 'pg_dumpall -c > dump_'${DATE}'.sql')

我希望生成dump_DATE. sql文件

3htmauhk

3htmauhk1#

对这个问题进一步研究,找到了解决办法。
事实证明,cron运行时设置了一个特定的路径,由于runuser不在该路径中,我不得不将命令修改为以下内容:

/usr/sbin/runuser -l postgresql -c 'pg_dumpall -c > dump_'${DATE}'.sql'

现在cron-job生成了转储文件

相关问题