phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] OT:MYSQL-(Timestamp) Backup und Lock

[php] AW: [php] OT:MYSQL-(Timestamp) Backup und Lock

Achim Gosse achim.gosse_(at)_nasa20.com
Thu, 13 Jan 2000 18:35:36 +0100


bei mysql backups sind mysql_dumps definitiv der (!) weg!

siehe shell script:
--- start ---
#!/bin/bash
# backup script fuer mysql datenbanken

BACKUP_DIR="/pfad/fuer/die/backups"
LOGFILE="/pfad/zum/logfile"
GZIP="/pfad/zum/gzip"
TAR="/pfad/zum/tar"
# gibt den wochentag aus, s.u.
TODAY=`/bin/date +%w`
#diese datenbanken backuppen wir
DATABASES="dbname1 dbname2 dbname3"
MYSQLDUMP="/pfad/zum/mysqldump"
#dieses datum fuers logfile
LOG_DATE=`/bin/date +%d.%b.%Y`
PASSWD="root passwort mysql"
USER="root"

#leerzeile im logfile
echo >> $LOGFILE

#datum ins logfile
echo "--- db backup vom $LOG_DATE --- start ---" >> $LOGFILE

# ziehen der daten aus mysql
for J in $DATABASES ; do
  echo "dumping database: $J" >> $LOGFILE
  $MYSQLDUMP --user=$USER --password=$PASSWD $J | $GZIP >
$BACKUP_DIR/$J.sql.$TODAY.gz
done

echo "--- db backup vom $LOG_DATE --- ende ---" >> $LOGFILE
--- ende ---


das in die crontab und jeden tag einmal, und du hast immer den datenbestand
der letzten woche da.


in diesen dateien steht die tabellendefinition und alle inserts mit den
daten (schau mal rein).

du kannst die daten einfach wiederherstellen:

1.) die datenbank wieder anlegen
2.) zcat <datenbankname>.sql.<wochentag>.gz | mysql --uroot -ppasswort
<datenbankname>
    die entsprechenden <> ausfuellen

fertig.


/achim

achim Gosse  mailto:achim.gosse_(at)_nasa20.com
n.a.s.a.2.0 gmbh     http://www.nasa20.com
borselhof   borselstr. 16c   22765 hamburg
speak.+49.40.39888288  fax.+49.40.39888299
registered linux user #122734



php::bar PHP Wiki   -   Listenarchive