PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysqldump- skripten



wotuzu17
14.03.04, 20:33
Hallo,

ich bin kein Mysql Spezialist und will auch keiner werden.

Mein Problem: Ich möchte gewisse Datenbanken jeden Tag um 0 Uhr dumpen und eventuell ein paar Tage aufbewahren. Nachdem ich sicher nicht der erste bin der sowas machen will wollt ich fragen ob ihr vielleicht ein paar Skripts habt die sowas machen.

z.b. php mit cron gestartet wäre gut.

bin über jede info dankbar.

downtown
14.03.04, 21:26
ich habe folgendes shell-script:
du musst dazu aber noch einen user backup erstellen, welcher auf allen datenbanken select-rechte hat. so läuft der bei mir schon mehrere monate. dieses script sichert nun die datenbank "downtown" in ein sql-file mit namen im format downtown-20040313.sql und setzt die rechte entsprechend.

#!/bin/sh

datum=$(date +%Y%m%d)

# datenbank downtown
mysqldump -c --opt -ubackup -p**** --databases downtown > /data/configs/backup-datenbanken/downtown-$datum.sql
chmod 0600 /data/configs/backup-datenbanken/downtown-$datum.sql

chown -R roman:roman /data/configs/backup-datenbanken/
chmod 0700 /data/configs/backup-datenbanken/

wotuzu17
14.03.04, 21:30
ok, danke. damit kann ich schon was anfangen. Ich werde dann meine Version des Skripts auch posten

timmoh
17.03.04, 11:29
servus gibt es auch die möglichkeit alle datenbanken zu sicher, so dass sie dann immer mit datenbank name abgelegt werden?

dh. wenn ich 10 dbs hab


sollen die dann /verzeichnis/$datum_$name.sql abgelegt werden

BoSSlAnD
17.03.04, 13:12
hi

wenn du alle datenbanken am server backupen willt, machste einfach

--all-databases
anstatt
--database <name>

ist evtl. auch ganz hilfreich ;)

mfG

Peter

timmoh
17.03.04, 13:14
mmh des sicher aber alle dbs in eine sql datei oder?

geht das auch das jede db einen eigenen sql datei bekommt ohne dass ich den namen von allen datenbanken weiss?

BoSSlAnD
17.03.04, 13:19
ist mir jetzt nicht bekannt.
ich sichere immer den ganzen mysql server.

schau doch einfach mal in die datei rein wenn du das backup gemacht hast.
da müsste dann etwas von wegen

create database

create table

insert into

usw.

wenn du eine 2te maschine zur Verfügung hast, spiel das backup doch dort mal ein, und prüfe ob das nach deinen Vorstellungen abgelaufen ist.

ansonsten .. die export funktion von phpmyadmin nehmen.
wenn du dort was exportierst, sollte das so oder so ähnlich wie in deinem backup file aussehen.

Mfg

Peter

Jakez
17.03.04, 13:39
Geiles Script... danke danke ;P