2017-02-21 74 views
0

我想配置Alfresco數據庫(PostgreSQL rdbms)的備份。PostgreSQL數據庫備份是空的 - 怎麼了?

對於我有這樣的腳本:

PSQL創建備份:

#!/bin/sh 
pg_dump -h localhost -U postgres -Fc -Z9 -c -f /home/bykovan/alfresco-data-backup/"`date +%d-%m-%Y`".alfresco.backup alfresco 

/home/bykovan救了它,給權利執行:

[[email protected] ~]$ sudo chmod 711 psql-create-backup 

然後我將作業添加到cron:

[[email protected] ~]$ sudo crontab -e 
... 

0 0 * * * /home/bykovan/psql-create-backup 

pg_hba.conf我加入這一行host all all 127.0.0.1/32 trust

[[email protected] ~]$ sudo vi /var/lib/pgsql/9.5/data/pg_hba.conf 

-- SKIPPED -- 


# TYPE DATABASE  USER   ADDRESS     METHOD 

# "local" is for Unix domain socket connections only 
#local all    all          peer 
local all    all          md5 
# IPv4 local connections: 
#host all    all    127.0.0.1/32   ident 
host  all    all    127.0.0.1/32   trust 
host  all    all    127.0.0.1/32   md5 
# IPv6 local connections: 
#host all    all    ::1/128     ident 
# Allow replication connections from localhost, by a user with the 
# replication privilege. 
#local replication  postgres        peer 
#host replication  postgres  127.0.0.1/32   ident 
#host replication  postgres  ::1/128     ident 

host all    all    192.168.0.0/16   md5 
-- VISUAL BLOCK -- 

備份是空的:

[[email protected] alfresco-data-backup]$ ls -lh 

-rw-r--r-- 1 root root 0 feb 18 00:00 18-02-2017.alfresco.backup 
-rw-r--r-- 1 root root 0 feb 19 00:00 19-02-2017.alfresco.backup 
-rw-r--r-- 1 root root 0 feb 20 00:00 20-02-2017.alfresco.backup 
-rw-r--r-- 1 root root 0 feb 21 00:00 21-02-2017.alfresco.backup 

pg_hba.conf我將此行:

host all all  ::1/128  md5 
host all postgres 127.0.0.1/32 trust 

然後重新啓動服務:

[[email protected] ~]$ sudo service postgresql-9.5 stop 
Redirecting to /bin/systemctl stop postgresql-9.5.service 
[[email protected] ~]$ sudo service postgresql-9.5 start 
Redirecting to /bin/systemctl start postgresql-9.5.service 

然後在提示符下運行命令直接(我被提示輸入密碼),看到以下內容:

[[email protected] alfresco-data-backup]$ ls -lh 

-rw-r--r-- 1 root root 0 feb 17 18:39 17-02-2017.alfresco.backup 
-rw-r--r-- 1 root root 0 feb 18 00:00 18-02-2017.alfresco.backup 
-rw-r--r-- 1 root root 0 feb 19 00:00 19-02-2017.alfresco.backup 
-rw-r--r-- 1 root root 0 feb 20 00:00 20-02-2017.alfresco.backup 
-rw-r--r-- 1 root root 0 feb 21 19:41 21-02-2017.alfresco.backup 
-rw-r--r-- 1 root root 667K feb 22 07:04 22-02-2017.alfresco.backup 

但正在運行的任務通過cron給我的空文件...

我在哪裏錯了?

我將非常感激這些信息。謝謝大家。

+1

如果在提示符下直接運行命令,會發生什麼情況?運行好嗎? –

+1

你可以從'crontab'中安裝'pg_dump'的完整路徑嗎? – Inian

+0

謝謝大家的評論!如果我在提示符中運行direct命令,我會看到以下內容:'pg_dump:[archiver(DB)]無法連接到數據庫「alfresco」:重要信息:在pg_hba.conf中沒有條目允許連接從計算機複製用戶「postgres」,數據庫「alfresco」,SSL關閉的「:: 1」。 –

回答

1

我在腳本中設置了密碼,現在看起來是這樣的:

PGPASSWORD="some_password" pg_dump -h localhost -U postgres -Fc -Z9 -c -f /home/bykovan/alfresco-data-backup/"`date +%d-%m-%Y`".alfresco.backup alfresco 

現在一切正常。

+1

您可能想使用.pgpass文件https://www.postgresql.org/docs/current/static/libpq-pgpass.html – Jayadevan

+0

非常感謝您提供的信息!我會牢記這一點。 –