linux - 如何使用脚本在远程服务器上设置 `sudo su postgres`

标签 linux postgresql shell ssh

我敢肯定这个问题已经被提出了数千次,但我仍然找不到答案,或者我太笨了。在这里。
我正在尝试 ssh 服务器,然后进行 postgresql 数据库备份。我试过了。

#!/bin/sh
ssh admin@myserver 'NOW=$(date +"%m-%d-%Y"); cd /home/open/backup; sudo su postgres; pg_dump v2 > v2-$NOW.sql;'

问题是,当我执行 sudo su postgres 时,它要求输入密码,但它们卡住了。任何指示都会有所帮助。

最佳答案

您可以编辑 /etc/sudoers 以允许用户 admin 以 postgres 身份运行命令而无需密码:

admin ALL=(postgres) NOPASSWD: ALL

如果您愿意,您也可以将其缩小到特定命令而不是全部。

关于linux - 如何使用脚本在远程服务器上设置 `sudo su postgres`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20239401/

相关文章:

c++ - 使用 QSocketNotifier 在字符设备上进行选择。

linux - Azure PowerShell : Is it possible to call bash commands from script written in ps1?

linux - 在特定 shell 命令后执行一些操作 => (跟踪已安装的软件包)

arrays - awk 表格格式化解决方案

linux - ssh到另一台主机,运行涉及其他脚本的脚本,如何仅杀死其他脚本?

具有窗口捕捉功能的 Linux 应用程序或发行版(如 Windows 7)

database - Eclipse无法连接数据库

postgresql - 可以通过没有密码的本地主机连接到 postgres,但不能通过 127.0.0.1。为什么?

sql - 使用 Postgres 从多个模式中选择(检索)所有记录

postgresql - TCP 保活不工作