Koozali.org: home of the SME Server

postgres Datenbank sichern ?

Offline fpausp

  • *
  • 728
  • +0/-0
postgres Datenbank sichern ?
« on: June 24, 2005, 01:38:07 PM »
Hi,

Habe die PostgreSQL 8.0.3 installiert, kann mir jemand von Euch sagen wie ich die sichern muß ?

Sichere üblicherweise meine files mit einem script auf DVD, angeblich muß man das bei postgres anders machen.
Viribus unitis

Offline fpausp

  • *
  • 728
  • +0/-0
postgres Datenbank sichern ?
« Reply #1 on: July 15, 2005, 07:19:58 AM »
Hi, mache das Datenbankbackup (PostgreSQL und MySQL)  mit folgendem Script:

mkdir /var/backup/date '+%Y%m%d'
pg_dumpall -i -U postgres > /var/backup/date '+%Y%m%d'/pgsql_db-date '+%Y%m%d'.dump
mysqldump -uroot -ppasswort -hlocalhost -A > /var/backup/date '+%Y%m%d'/mysql_db-date '+%Y%m%d'.sql
gzip -f /var/backup/date '+%Y%m%d'/*.dump
gzip -f /var/backup/date '+%Y%m%d'/*.sql
find /var/backup -atime +5 \! -type d -exec rm -f -R * {} \;

Es wird für jeden Tag ein Verzeichnis angelegt wo die Datenbanken in gezipter Form gespeichert werden, nach 5 Tagen sollen Sie samt Verzeichnis wieder gelöscht werden.

Bin noch am Testen, for allem ob die files die älter sind als 5 Tage auch gelöscht werden ?

mfg
fpausp
Viribus unitis

Offline fpausp

  • *
  • 728
  • +0/-0
postgres Datenbank sichern ?
« Reply #2 on: July 25, 2005, 07:33:54 PM »
Hi, hab noch folgendes Script aus einem tut von Selflinux gefunden:

http://www.selflinux.org/selflinux/html/postgresql.html


#!/usr/bin/bash
#muss als postgres gestartet werden

#Sicherheitshalber standard locale
export LC_ALL=C

#Wohin mit den Backups
cd /home/postgres/db_backups/

#Ergibt "Sun", "Mon" usw.
DAY=date +%a

#Alternativ: JJJJ-MM-TT
#DAY=+%Y-%m-%d

#Man kann alte Backups automatisch löschen, um Platz zu sparen,
# beispielsweise alles löschen, was älter als 14 Tag ist:
#find /home/postgres/db_backups/ \
# -iname 'dump_all-*.sql' -mtime +14 \
# | xargs --no-run-if-empty rm -f

#Die Pfade müssen natürlich angepasst werden.
/usr/bin/pg_dumpall > dump_all-$DAY.sql

#Damit man nicht noch einen extra cron job für Vacuum machen muss:
/usr/bin/vacuumdb --all --analyze


mfg
fpausp
Viribus unitis