pg_backup.sh:对于pg_backup.config,“没有这样的文件或目录”

3
为了创建一个postgres数据库的备份,我下载了这里提供的备份脚本。
我创建了一个名为pg_backup.config的文件,并将其放置在/etc目录下。将pg_backup.sh文件放置在/usr/local/bin目录下。当尝试运行脚本时,请按以下方式操作:
$ pg_backup.sh -c /etc/pg_backup.config

...我收到以下错误消息:

/usr/local/bin/pg_backup.sh: line 27: /usr/local/bin/pg_backup.config: No such file or directory

我是否做错了什么?显然,这个脚本试图从/usr/local/bin/pg_backup.config中加载配置,尽管我指定了/etc/pg_backup.config作为配置输入。我该怎么指定从哪里加载配置呢?

1个回答

3

这个脚本似乎接受一个命令行配置文件,但需要在二进制文件旁边存在一个配置文件(并以不太健壮的方式找到该位置1)。

这个脚本就是有问题。

它所做的第一件事情是解析其命令行选项(使用手动 while 循环)。在这样做时,它会从位置参数中删除它们(使用 shift)。当没有更多的位置参数时([ $# -gt 0 ] 不再为真),它会停止该循环。

在排空了位置参数后,它立即检查位置参数的数量 再次 (if [ $# = 0 ]; then),当不可避免地发现没有更多的位置参数时,它尝试调用默认配置文件。

相比之下,pg_backup_rotated.sh 脚本有一个更合理的机制来加载配置文件(尽管它仍然使用不太健壮的方式来查找默认配置文件的位置)。


您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - qqilihq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接