postgresql
Script di backup per un DB di produzione
Ricerca…
Sintassi
- Lo script consente di creare una directory di backup per ogni esecuzione con la seguente sintassi: Nome della directory di backup del database + data e ora di esecuzione
- Esempio: prodDir22-11-2016-19h55
- Dopo la sua creazione, crea due file di backup con la seguente sintassi: Nome del database + data e ora di esecuzione
- Esempio :
- dbprod22-11-2016-19h55.backup (file di dettagli)
- dbprod22-11-2016-19h55.sql (file sql)
- Alla fine di una esecuzione al 22-11-2016 @ 1955 , otteniamo:
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.backup
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.sql
Parametri
parametro | dettagli |
---|---|
save_db | La directory di backup principale |
dbProd | La directory di backup secondaria |
DATA | La data del backup nel formato specificato |
dbprod | Il nome del database da salvare |
/opt/postgres/9.0/bin/pg_dump | Il percorso del file binario pg_dump |
-h | Specifica il nome host della macchina su cui è in esecuzione il server, Esempio: localhost |
-p | Specifica la porta TCP o l'estensione del file socket del dominio Unix locale su cui il server sta ascoltando le connessioni, Esempio 5432 |
-U | Nome utente per connettersi come. |
Osservazioni
- Se è presente uno strumento di backup come HDPS o Symantec Backup , è necessario svuotare la directory di backup prima di ogni avvio .
Per evitare di ingombrare lo strumento di backup perché il backup dei vecchi file dovrebbe essere fatto.
Per abilitare questa funzione, si prega di decommentare la riga N ° 3.
rm -R / save_db / *
- Nel caso in cui il budget non consenta di avere uno strumento di backup, è sempre possibile utilizzare il pianificatore di attività ( comando cron ).
Il seguente comando è usato per modificare la tabella cron per l'utente corrente.
crontab -e
Pianifica il lancio della sceneggiatura con il calendario alle 23:00.
0 23 * * * /saveProdDb.sh
saveProdDb.sh
In generale, tendiamo a eseguire il backup del DB con il client pgAdmin. Quello che segue è uno script sh usato per salvare il database (sotto linux) in due formati:
File SQL : per un possibile curriculum di dati su qualsiasi versione di PostgreSQL.
Dump file : per una versione superiore rispetto alla versione corrente.
#!/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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow