PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenbank sichern



Xsche85
28.07.2003, 14:00
Kann man seine DB auch sichern bei 1&1 hab gehört das glaub bei Straot mal ein ausfall der DB war und alle Daten verloren gingen nun würde mich mal interessieren ob das geht wenn ja wie?

Mikes-PCHilfe
28.07.2003, 18:28
Hi,

PHPMyAdmin auf den Webspace geladen und damit kannst du sichern

Gruß Mike

Christian
29.07.2003, 11:49
Jep oder wieder Christian Fragen und Script absahnen ;-)

Das Script bitte dbsichern.php oder so nennen:


<?php
// Bitte hier Ihre Daten eintragen
$host= 'localhost '; // Bei puretec / 1&1 meist dbXX.puretec.de
$user= 'XXXXXXX'; // Benutzer
$pass= 'XXXXXXX'; // Passwort
$db= 'DBName'; // Datenbank

// Befehl ausführen und in Zipfile speichern
system(sprintf(
'mysqldump --opt -h %s -u %s -p%s %s | gzip > %s/dump.sql.gz',
$host,
$user,
$pass,
$db,
getenv('DOCUMENT_ROOT')
));
echo '+Fertig';
?>




Die Datei dump.sql.gz wird im root Verzeichnis erzeugt. Sie kann mit WinZip oder RAR geöffnet werden. Das Dump kann dann per PhpMyAdmin oder Console wieder eingespielt werden.


Gruß Christian

Mikes-PCHilfe
29.07.2003, 11:52
In Ordnung, haste son Script auch für die BASH, damit ich per Crontab meine MySQL sichern kann ???

Gruß Mike

Christian
29.07.2003, 15:54
Wie wäre es denn wenn du per Cron einfach das PHP Script aufrufst. ;-)) Mike mike *G* Linux Forum ;-))))))

Pass auf ganz einfach so:




0 8 * * 1-5 /usr/bin/php -q /PFAD/ZUM/PHP/SCRIPT/beispiel.php | mail -s "Cron hat PHP ausgeführt" webmaster@mikes-pchilfe.de

Mikes-PCHilfe
29.07.2003, 16:26
Ach, PHP führt man net an der Console aus, hab mir en BASH Script geschrieben, sichert alle Datenbanken, packt sie in en TGZ Archive und löscht danach die TEMP SQL Dateien

Genauso wie ich es haben wollte

Gruß Mike

Christian
30.07.2003, 08:25
Wieso sollte man es nicht auf der Konsole ausführern. Nun ja solange du nicht einfach mit tgz var/mysql wegsicherst ist ja ok ;-)


Gruß Christian

Mikes-PCHilfe
30.07.2003, 08:43
*haha* wie lustig

ziehe mir mit meinem BASH File von jeder Datenbank einen SQL DUMP, dann werden alle SQL DUMPS gepackt und die SQL Files aus dem TEMP Ordner wieder gelöscht, so einfach is.

Klar kann man PHP an der Konsole ausführen, aber richtig ist es mit der eigenen BASH, PYTHON o.ä., PHP ist fürs Webfrontend

Gruß Mike

Christian
30.07.2003, 09:04
NUn ja ok wollte dich nicht belehren sondern nur nachfragen ;-)

Mikes-PCHilfe
30.07.2003, 10:32
*grins*

Bin bzgl. Linux nicht ganz so dumm wie ich aussehe *lol*

Gruß Mike

Christian
30.07.2003, 11:44
Poste doch mal das script *ggggggggg*

Mikes-PCHilfe
30.07.2003, 13:31
Hier das Script:



#Scripted by Mike Goldhausen
#
#Webmaster@mikes-pchilfe.de
#
############################
ymd=`date +'%Y-%m-%d'`
mkdir /sicherung/backup/sql
/opt/lampp/bin/mysqldump intranet --opt --add-drop-table > /sicherung/backup/sql/intranet.sql --user=USERNAME --password=PASSWORD
/opt/lampp/bin/mysqldump mysql --opt --add-drop-table > /sicherung/backup/sql/mysql.sql --user=USERNAME --password=PASSWORD
/opt/lampp/bin/mysqldump phpmyadmin --opt --add-drop-table > /sicherung/backup/sql/phpmyadmin.sql --user=USERNAME --password=PASSWORD
tar -zcvf /sicherung/SQL_backup/intranet_sql.${ymd}.tgz /sicherung/backup/sql/
rm /sicherung/backup/sql -f -d -r

################################################## ##############################################
# Um den SQL Dump wieder einzuspielen, folgenden Befehl nutzen:
#
#
# /opt/lampp/bin/mysql intranet < /sicherung/intranet.sql --user=USERNAME --password=PASSWORD
################################################## #############################################


Gruß Mike

DerGulm
30.11.2008, 19:08
Hallo, habe jetzt meine Seíten auf MySQL umgestellt, vielen Dank nochmal :)
Nun würde ich gerne alle 2 Tage per cronjob meine Tabelle sichern.

Bei dem Script von Christian kommt folgender Fehler (Hat wohl mein Provider gesperrt): system() has been disabled for security reasons

<?php
// Bitte hier Ihre Daten eintragen
$host= 'localhost '; // Bei puretec / 1&1 meist dbXX.puretec.de
$user= 'XXXXXXX'; // Benutzer
$pass= 'XXXXXXX'; // Passwort
$db= 'DBName'; // Datenbank

// Befehl ausführen und in Zipfile speichern
system(sprintf(
'mysqldump --opt -h %s -u %s -p%s %s | gzip > %s/dump.sql.gz',
$host,
$user,
$pass,
$db,
getenv('DOCUMENT_ROOT')
));
echo '+Fertig';
?>

Giebt es noch eine andere Alternative, oder muss ich die Tabelle auslesen und dann in traditioneller Weise die Datei beschreiben?

MfG Der Gulm

Mikes-PCHilfe
01.12.2008, 08:38
Es gibt noch passthru & exec.

Aber ich vermute die sind auch gesperrt.

Grüße Mike

DerGulm
01.12.2008, 23:22
Geht ja nicht klar! Wozu zahl ich Geld!

Werd meinen Provider anschreiben! Soll er mir freigeben!

Vielen Dank!

Mikes-PCHilfe
02.12.2008, 08:37
Ok, danke für die Info

Grüße Mike