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

  1. 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 / *
  1. 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