postgresql
Skrypt zapasowy dla produkcyjnej bazy danych
Szukaj…
Składnia
- Skrypt umożliwia utworzenie katalogu kopii zapasowej dla każdego wykonania z następującą składnią: Nazwa katalogu kopii zapasowej bazy danych + data i godzina wykonania
- Przykład: prodDir22-11-2016-19h55
- Po utworzeniu tworzy dwa pliki kopii zapasowej o następującej składni: nazwa bazy danych + data i godzina wykonania
- Przykład:
- dbprod22-11-2016-19h55.backup (plik zrzutu)
- dbprod22-11-2016-19h55.sql (plik sql)
- Pod koniec jednej egzekucji w dniu 22-11-2016 o godzinie 1955 otrzymujemy:
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.backup
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.sql
Parametry
parametr | Detale |
---|---|
save_db | Główny katalog kopii zapasowej |
dbProd | Drugi katalog kopii zapasowych |
DATA | Data kopii zapasowej w określonym formacie |
dbprod | Nazwa bazy danych do zapisania |
/opt/postgres/9.0/bin/pg_dump | Ścieżka do pliku binarnego pg_dump |
-h | Określa nazwę hosta komputera, na którym działa serwer, Przykład: localhost |
-p | Określa port TCP lub lokalne rozszerzenie gniazda domeny systemu Unix, na którym serwer nasłuchuje połączeń, przykład 5432 |
-U | Nazwa użytkownika do połączenia jako. |
Uwagi
- Jeśli istnieje narzędzie do tworzenia kopii zapasowych, takie jak HDPS lub Symantec Backup , ... Konieczne jest opróżnienie katalogu kopii zapasowej przed każdym uruchomieniem .
Aby uniknąć zaśmiecania narzędzia do tworzenia kopii zapasowych, ponieważ należy wykonać kopię zapasową starych plików.
Aby włączyć tę funkcję, należy odkomentować linię nr 3.
rm -R / save_db / *
- W przypadku, gdy budżet nie pozwala na posiadanie narzędzia do tworzenia kopii zapasowych, zawsze można skorzystać z narzędzia do planowania zadań ( komenda cron ).
Poniższe polecenie służy do edycji tabeli cron dla bieżącego użytkownika.
crontab -e
Zaplanuj uruchomienie skryptu z kalendarzem o godzinie 23:00.
0 23 * * * /saveProdDb.sh
saveProdDb.sh
Zasadniczo tworzymy kopię zapasową bazy danych za pomocą klienta pgAdmin. Poniżej znajduje się skrypt sh używany do zapisywania bazy danych (pod Linuksem) w dwóch formatach:
Plik SQL : dla możliwego wznowienia danych w dowolnej wersji PostgreSQL.
Plik zrzutu : dla wersji wyższej niż bieżąca.
#!/bin/sh
cd /save_db
#rm -R /save_db/*
DATE=$(date +%d-%m-%Y-%Hh%M)
echo -e "Sauvegarde de la base du ${DATE}"
mkdir prodDir${DATE}
cd prodDir${DATE}
#dump file
/opt/postgres/9.0/bin/pg_dump -i -h localhost -p 5432 -U postgres -F c -b -w -v -f "dbprod${DATE}.backup" dbprod
#SQL file
/opt/postgres/9.0/bin/pg_dump -i -h localhost -p 5432 -U postgres --format plain --verbose -f "dbprod${DATE}.sql" dbprod
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow