2017-02-21 9 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 

Но запуск задачи через хрон дал мне пустые файлы ...

Где я ошибаюсь? ..

Буду очень признателен за информацию. Спасибо всем.

+1

Что произойдет, если вы запустите команду direct в командной строке? бежать нормально? –

+1

Можете ли вы дать полный путь к 'pg_dump', откуда он установлен в' crontab'? – Inian

+0

Спасибо всем за ваши комментарии! Если я запустил команду direct в приглашении, я вижу следующее: 'pg_dump: [archiver (DB)] не удалось подключиться к базе данных« alfresco »: ВАЖНО: в pg_hba.conf нет записи, разрешающей подключение для репликации с компьютера «:: 1» для пользователя «postgres», база данных «alfresco», SSL off.' –

ответ

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 

Теперь все Ok.

+1

Возможно, вы захотите использовать файл .pgpass https://www.postgresql.org/docs/current/static/libpq-pgpass.html – Jayadevan

+0

Большое спасибо за информацию! .. Я буду помнить об этом. –

Смежные вопросы