"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

mySQL backup?

syphiliz 17.01.2007 - 21:41 684 8
Posts

syphiliz

blubb.banane
Avatar
Registered: Mar 2001
Location: AT
Posts: 1323
ich würde gerne meine mysql db in regelmäßigen intervallen auf einen usb stick backupen.

als linux nap nehm ich mal an das lässt sich mittels cron job ganz gut lösen.

gibt es da irgendeine standardverfahrensweise?

ich hab daweil mal versucht, damit ich mal irgend eine art von backup hab, das gesamte lampp dir manuell auf den stick zu spielen, aber bei
Code:
$ cp -r "/opt" "/usb" 
bekomme ich bei unzähligen dateien den fehler
Code:
cp: cannot create symbolic link 

und auf die dirs, wo die eigentlichen sql db's drinnen liegen, kann ich nicht mal zugreifen...

wie geht man das normalerweise an?

tia, und sry für meine linux dauness :)

syph
Bearbeitet von syphiliz am 17.01.2007, 23:57

TOM

Super Moderator
Oldschool OC.at'ler
Avatar
Registered: Nov 2000
Location: Vienna
Posts: 7368
Ich löse das Ganze per Mysqldumper

imho ziemlich genial das Programm... freeware und komplett installier/konfigurierbar per browser

damit kannst du nicht nur backups erstellen, sondern auch gleich fein einspielen (ohne php timeouts)

syphiliz

blubb.banane
Avatar
Registered: Mar 2001
Location: AT
Posts: 1323
thx!

../htdocs einfach ganz normal mit cron rüberzuspielen ist eh eine halbwegs vernünftige lösung, oder?

NyoMic

xepera-xeper-xeperu
Avatar
Registered: Feb 2001
Location: Stahlstadt
Posts: 2619
Zitat von syphiliz
Code:
cp: cannot create symbolic link 

hier würde z.B ein "cp -rH" helfen ;)

EDIT:
-p wär auch ned schlecht, sonst stimmen beim rückkopieren die rechte nicht mehr. aber prinzipiell wenns nur um sql geht, mach lieber einen dump

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
`cp -a` nimmt so viel Information wie moeglich von der Quelle zum Ziel. Ansonsten sichert man nicht umsonst am besten mit `tar` oder `cpio`, weil da keine bis kaum Strukturinformation (symlinks, hardlinks, ACLs) verloren geht.

Fuer Datenbanken, die den groszteil Ihrer Datenbestaende zur Laufzeit im fluechtigen Speicher halten, ist das kopieren der Backend-Files _keine_ adaequate Backuploesung. MySQL biette zum Beispiel das CLI-Programm `mysqldump`, das es dir erlaubt, alle bzw. einzelne Datenbanken, aber auch nur gewisse Tabellen solcher, komfortabel in serialiserter Form in eine Datei zu bringen.
Wenn du wirklich auf Dateisystemebene zu sicher gedenkst, hilft nur ein Herunterfahren des Datenbanksystems.

syphiliz

blubb.banane
Avatar
Registered: Mar 2001
Location: AT
Posts: 1323
thx all. die lösung mit "mysqldump" is eh optimal. auf fs hab ichs nur versucht, weil ich nciht wußte, wies besser geht :)

spiel mich grad damit. funktioniert auch schon. nur hab ich noch keine möglichkeit gefunden, das backup automatisch auf den usb stick zu schieben...

Medice

Intensivlaie
Avatar
Registered: Mar 2003
Location: irc.euirc.net - ..
Posts: 1967
ich habe folgendes script als cronjob in verwendung
Code:
NOW=$(date +%y-%m-%d); /usr/bin/mysqldump -uUSER -pPASS DBNAME | gzip > "/pfad/dbname-backup-$NOW.sql.gz"
lässt sich sicherlich noch anpassen auf andere Interessen ;)

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
`date +%y-%m-%d` kann man uebrigens ein wenig kuerzer als `date +%F` notieren, allerdings mit vier Stellen fuer's Jahr. :D

Das automatische Verschieben auf ein Medium deiner Wahl kannst du ja auch noch an den Cronjob anhaengen.

syphiliz

blubb.banane
Avatar
Registered: Mar 2001
Location: AT
Posts: 1323
das ist genau das, was ich gesucht habe! vielen vielen dank :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz