postgresql
Back-upscript voor een productie-DB
Zoeken…
Syntaxis
- Met het script kunt u een back-upmap maken voor elke uitvoering met de volgende syntaxis: Naam van de database-back-upmap + datum en tijdstip van uitvoering
- Voorbeeld: prodDir22-11-2016-19h55
- Nadat het is gemaakt, maakt het twee back-upbestanden met de volgende syntaxis: naam van de database + datum en tijdstip van uitvoering
- Voorbeeld:
- dbprod22-11-2016-19h55.backup (dumpbestand)
- dbprod22-11-2016-19h55.sql (sql-bestand)
- Aan het einde van een uitvoering op 22-11-2016 @ 19h55 krijgen we:
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.backup
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.sql
parameters
parameter | gegevens |
---|---|
save_db | De hoofdback-upmap |
dbProd | De secundaire back-upmap |
DATUM | De datum van de back-up in het opgegeven formaat |
dbprod | De naam van de database die moet worden opgeslagen |
/opt/postgres/9.0/bin/pg_dump | Het pad naar het binaire bestand pg_dump |
-h | Hiermee geeft u de hostnaam op van de computer waarop de server wordt uitgevoerd, bijvoorbeeld: localhost |
-p | Geeft de TCP-poort of de lokale extensie van het Unix-domein socketbestand aan waarop de server naar verbindingen luistert, Voorbeeld 5432 |
-U | Gebruikersnaam om verbinding mee te maken. |
Opmerkingen
- Als er een back- uptool is zoals HDPS of Symantec Backup , ... moet u de back- upmap vóór elke lancering legen.
Om te voorkomen dat het back-uptool rommelig wordt omdat de back-up van oude bestanden moet worden gedaan.
Om deze functie in te schakelen, moet u regel 3 uitschakelen.
rm -R / save_db / *
- In het geval dat het budget geen back-uptool toestaat, kan men altijd de takenplanner gebruiken ( cron-opdracht ).
De volgende opdracht wordt gebruikt om de cron-tabel voor de huidige gebruiker te bewerken.
crontab -e
Plan de lancering van het script met de kalender om 23.00 uur.
0 23 * * * /saveProdDb.sh
saveProdDb.sh
Over het algemeen hebben we de neiging om een back-up van de DB te maken met de pgAdmin-client. Het volgende is een sh-script dat wordt gebruikt om de database (onder linux) in twee formaten op te slaan:
SQL-bestand : voor een mogelijke samenvatting van gegevens op elke versie van PostgreSQL.
Dumpbestand : voor een hogere versie dan de huidige versie.
#!/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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow