Odpowiedzi:
Możesz użyć w pg_dump
ten sposób:
$ pg_dump -h db_host -U user_name db_name > dump_file.sql
Najpierw zastanów się nad ustawieniem .pgpass
pliku zawierającego hasła, które będą używane, jeśli połączenie wymaga hasła. Ten plik powinien mieć wiersze w następującym formacie:
hostname:port:database:username:password
I każde z pierwszych czterech pól może być wartością dosłowną lub *, która pasuje do czegokolwiek. Na przykład: *:*:*:postgres:pg_password
.
Ten .pgpass
plik musi znajdować się w katalogu domowym ~ /, a uprawnienia do niego muszą uniemożliwiać dostęp do świata lub grupy; osiągnąć to przez polecenie
chmod 0600 ~/.pgpass
.
Uruchom pg_dumpall z crona.
Wypróbuj AutoPostgreSQLBackup . Jest to pojedynczy plik skryptu, można go łatwo skonfigurować do swoich potrzeb, wykonuje harmonogram dzienny, tygodniowy i miesięczny, dzienniki na e-mail, plik dziennika lub standardowe wyjście itp.
Jeśli jest to stosunkowo mała baza danych i tak niskie wymagania dotyczące kopii zapasowej, jak tylko raz dziennie, po prostu uruchom pg_dump z crona, aby zrzucić plik lokalny, a następnie użyj dowolnej kopii zapasowej plików na komputerze, aby zarchiwizować zrzut .
pg_rman to nowe narzędzie, oferujące przyrostowe kopie zapasowe, które działa dla PostgreSQL 8.4 lub nowszego.
Wypróbuj bezpieczny dla astrails . Wie, jak wykonać kopię zapasową mysql (mysqldump), postgres (pg_dump) lub po prostu zwykłych plików (tar) z szyfrowaniem (gnupg) i przesłać do S3 / Sftp.
pg_dump to dobre rozwiązanie, ale jeśli próbujesz wykonać kopię zapasową dużej ilości danych, być może może to pomóc:
http://www.postgresql.org/docs/8.1/static/backup-online.html
co w rzeczywistości jest rodzajem „surowego” rejestrowania, ale może być przydatne jako metoda przyrostowej kopii zapasowej ...
Jest to skrypt, który utworzy kopię zapasową każdej bazy danych osobno, a także często zapomniane, ale ważne PostgreSQL GLOBALS i dane logowania użytkownika.
Ważne jest, aby skorzystać z kompresji, której pg_dumpall nie zapewnia, a zapomniane dane, które pg_dump ignoruje.
Będzie to wymagało pgpass lub podobnej konfiguracji, jak opisano tutaj http://wiki.postgresql.org/wiki/Pgpass
Jest to konfiguracja dla OSX, ale po prostu zmień ścieżki programu i będzie działać dobrze.
Kopie zapasowe do / sqlbackups Skrypt zwróci rozmiar katalogu / katalog i ma punkty przerwania, które zwrócą niezerowy status, jeśli się nie powiedzie. Użyłem go w połączeniu z pgAgent do codziennych kopii zapasowych.
Skrypt zredagowany, przepraszam za to :(
Po co zadowalać się codzienną kopią zapasową, skoro możesz łatwo odzyskać siły w czasie dzięki barmanowi ?
Jak powiedzieli inni: pg_dumpall.
Zobacz także wysyłkę dziennika. Następnie możesz uzyskać więcej kopii zapasowych w czasie, które możesz odtworzyć: http://www.postgresql.org/docs/8.3/static/runtime-config-wal.html
A może rozdział o kopiach zapasowych w podręczniku: