我正在爲使用PostgreSQL和Tomcat的服務器開發自動備份系統。環境是CentOS最小7。長話短說,虛擬機將通過FTP下載包含Tomcat的.sql轉儲文件和一個.tar.gz文件夾。轉儲postgresql數據庫並通過ftp訪問它們
在設置vsftpd時沒有問題,我可以通過FTP使用自定義用戶(ftpuser)訪問服務器,該用戶當前可以訪問特定文件夾(/ home/ftpuser/backups /)。我可以在那裏壓縮tomcat,這樣我的腳本就可以獲取備份/文件夾並下載它,但是我無法弄清楚如何將postgresql數據庫轉儲到/ home/ftpuser/backups /文件夾,而無需使用sudo做一些愚蠢的事情。
Postgres用戶沒有寫入的權限,即使使用chown或chmod,我也無法將它們提供給他。我插入sudoers postgres,如果我轉儲分貝,然後我「sudo cp」到該文件夾是好的,但這樣我不能使用腳本來做到這一點,由於「sudo」問密碼。
問題是..有沒有辦法讓「pg_dump」將.sql轉儲寫入/ home/ftpuser/backups /文件夾?
感謝您的回覆。
請**,請勿**使用FTP進行備份。這是數據庫轉儲泄漏的方式。至少你應該通過SSH使用'rsync'。在將它們傾倒到任何地方之前,GPG對它們進行加密也會更好。 – tadman
這就是他們要求我做的事情,我的意思是顯然是sftp,但問題會是一樣的,我怎樣才能將pg_dump移到/ var/lib/pgsql之外的特定文件夾? –
如果涉及密碼認證,這仍然是非常危險的。你想要一些依賴於私鑰的東西,如果沒有通過VPN,IP白名單或其他措施限制更多的話。無論如何,這不是一個編程問題。除非你正在研究某種腳本,否則它可能更好地指向[SuperUser](http://superuser.com)或[DBA站點](http://dba.stackexchange.com)。 – tadman