如何使用脚本在远程服务器上“sudo su postgres”

时间:2013-11-27 10:07:05

标签: 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时,它会要求输入密码并且它会被卡住。任何指针都会有所帮助。

1 个答案:

答案 0 :(得分:1)

您可以编辑/etc/sudoers以允许用户admin以无密码的方式运行postgres命令:

admin ALL=(postgres) NOPASSWD: ALL

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