postgresql
Säkerhetskopieringsskript för en produktions-DB
Sök…
Syntax
- Skriptet låter dig skapa en säkerhetskatalog för varje utförande med följande syntax: Namn på databasens säkerhetskatalog + datum och tid för körning
- Exempel: prodDir22-11-2016-19h55
- När det har skapats skapar det två säkerhetskopieringsfiler med följande syntax: databasnamn + datum och tid för körning
- Exempel:
- dbprod22-11-2016-19h55.backup ( dumpfil )
- dbprod22-11-2016-19h55.sql (sql-fil)
- I slutet av en utförande 22-11-2016 @ 19h55 får vi:
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.backup
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.sql
parametrar
parameter | detaljer |
---|---|
save_db | Den viktigaste säkerhetskatalogen |
dbProd | Den sekundära reservkatalogen |
DATUM | Datum för säkerhetskopiering i det angivna formatet |
dbprod | Namnet på databasen som ska sparas |
/opt/postgres/9.0/bin/pg_dump | Vägen till den binära pg_dumpen |
-h | Anger värdnamnet på den maskin som servern kör på, Exempel: localhost |
-p | Anger TCP-porten eller den lokala Unix-domänfacktillägget som servern lyssnar på för anslutningar, exempel 5432 |
-U | Användarnamn för att ansluta som. |
Anmärkningar
- Om det finns ett säkerhetskopieringsverktyg som HDPS eller Symantec säkerhetskopia , ... Det är nödvändigt att tömma säkerhetskopian innan varje lansering .
För att undvika röran säkerhetskopieringsverktyget eftersom säkerhetskopian av gamla filer är tänkt att vara gjort.
För att aktivera den här funktionen vänligen avmarkera rad nr 3.
rm -R / save_db / *
- I fallet där budgeten inte tillåter att ha ett verktyg för säkerhetskopiering kan man alltid använda uppgiften planeraren ( cron kommando ).
Följande kommando används för att redigera cron-tabellen för den aktuella användaren.
crontab -e
Planera lanseringen av skriptet med kalendern kl. 23.
0 23 * * * /saveProdDb.sh
saveProdDb.sh
I allmänhet tenderar vi att säkerhetskopiera DB med pgAdmin-klienten. Följande är ett sh-skript som används för att spara databasen (under linux) i två format:
SQL-fil : för en möjlig återupptagning av data på vilken version av PostgreSQL som helst.
Dump-fil : för en högre version än den nuvarande versionen.
#!/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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow