转储postgresql数据库并通过ftp访问它们

时间:2017-06-30 17:12:29

标签: sql linux postgresql tomcat ftp

我正在使用PostgreSQL和Tomcat为服务器开发自动备份系统。环境是CentOS minimal 7.简而言之,VM将通过FTP下载包含Tomcat的.sql转储和.tar.gz文件夹。

设置vsftpd没有问题,我可以通过FTP使用自定义用户(ftpuser)访问服务器,该用户当前可以访问特定文件夹(/ home / ftpuser / backups /)。我可以在那里压缩tomcat,所以我的脚本将获取备份/文件夹并下载它,但我无法弄清楚如何将postgresql数据库转储到/ home / ftpuser / backups /文件夹而不必使用sudo做一些愚蠢的事情。< / p>

Postgres用户没有在那里写的权限,即使使用chown或chmod我也无法将它们提供给他。我在sudoers中插入postgres,如果我转储数据库然后我“sudo cp”它到那个文件夹是可以的,但是这样我就不能使用脚本来做到这一点,因为“sudo”要求密码。

问题是..有没有办法让“pg_dump”将.sql转储写入/ home / ftpuser / backups / folder?

感谢您的回复。

1 个答案:

答案 0 :(得分:0)

pg_dump不需要从 postgres 用户运行。

可以写入所需文件夹的用户运行它,并传递--username=database_user参数以指定所需的数据库用户。您可能需要.pgpass个文件来获取此用户使用的密码(除非pg_hba.conf已将其定义为trust)。