Seite 1 von 3

Externes Backup Programm?

Verfasst: 09.06.2012 22:32
von Shorty1968
Hallo kann mir hier Jemand ein Gutes Datenbank Backup Programm empfehlen,mein mysql dumper gibt mir beim aufrufen nur noch:

Code: Alles auswählen

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny16 with Suhosin-Patch mod_perl/2.0.4 Perl/v5.10.0 Server at www.phpbb-service.de Port 80
ich habe mir den DumpTimer geholt der erzeugt aber keine dumptimer.php wie er sollte und ich weiss nicht warum.

Gruß

Re: Externes Backup Programm?

Verfasst: 09.06.2012 23:36
von WileCoyote
Das ist wieder typisch Shorty. Bevor wir ein Problem lösen, suchen wir uns lieber gleich ein anderes Programm/MOD. Abgesehen davon, ändere bitte endlich deine Signatur. Die Aussage kann einfach nicht stimmen.

http://forum.mysqldumper.de/fehler-nach ... t6333.html

Re: Externes Backup Programm?

Verfasst: 09.06.2012 23:47
von Pyramide
WileCoyote hat geschrieben:Das ist wieder typisch Shorty. Bevor wir ein Problem lösen, suchen wir uns lieber gleich ein anderes Programm/MOD. Abgesehen davon, ändere bitte endlich deine Signatur. Die Aussage kann einfach nicht stimmen.
Hört doch einfach auf, ihm zu helfen. Solange auch bei jeder noch so dämlichen Frage jedes mal 2-3 Leute bereitwillig für ihn Google benutzen und ihm die Lösung auf dem Silbertablett präsentieren, wird er nie anfangen, selbst nachzudenken.

Re: Externes Backup Programm?

Verfasst: 10.06.2012 00:12
von Shorty1968
Immer erst mal Meckern gel,ich habe bei Google gesucht bin eventuell darin nicht so erfahren wie ihr und mache Fehler bei der Eingabe aber egal Hauptsache man hat jemanden auf dem man rumhacken kann.

Aber egal habe etwas gefunden.

Re: Externes Backup Programm?

Verfasst: 02.07.2012 11:24
von bullim
Hast du root-Rechte auf dem Server? Dann könnte ich dir mein Shell-Script zum dumpen geben. Geht gefühlt eine Million mal schneller als mit Mysql-Dumper und vor allem automatisch per Cronjob.

Re: Externes Backup Programm?

Verfasst: 02.07.2012 11:35
von Shorty1968
Ja ich habe Root Rechte auf dem Server,das wäre nett wenn das machbar wäre danke.

Re: Externes Backup Programm?

Verfasst: 02.07.2012 22:16
von gn#36
Für Mysqldump oder mysql selbst per Konsole sind keine Root Rechte notwendig. Es wird lediglich Datenbankzugriff benötigt (und logischerweise Shellzugriff auf den Server). Das gilt dementsprechend auch für Cronjobs.

Re: Externes Backup Programm?

Verfasst: 03.07.2012 02:28
von bullim
Shorty1968 hat geschrieben:Ja ich habe Root Rechte auf dem Server,das wäre nett wenn das machbar wäre danke.
Ich verwende drei Scripts, die ich hier mal vorstelle.

1. Dumpfile (dbdump.sh)

Das erste Script verwende ich für automatische Dumps. Das Script wird per Cronjob (bei mir alle 3 Stunden) aufgerufen. Dafür solltest du das Dumpdir (/root/dbdump/) erstellen und es mit entsprechenden Rechten (rwx) ausstatten. Es werden Files geschrieben, verpackt und nach drei Tagen automatisch gelöscht. Kannst aber selbst einstellen, wie lange die Dateien vorrätig bleiben sollen.

Ist kein Gzip auf dem Server verfügbar, kommentiere die Zeile "gzip $DBASEFILE" einfach aus. ;)

Der folgenden Code, liegt dann im Rootverzeichnis und muss ebenfalls mit Rechten zum Lesen und Ausführen ausgestattet sein. Die Datei kannst du z.b. dbdump.sh nennen.

Code: Alles auswählen

#!/bin/sh

#Variablen definieren
DATUM=`date +%y%m%d%H`

#Hier das Dump-Verzeichnis angeben
DUMPDIR=/root/dbdump/

#Hier den DB-Benutzernamen (admin) angeben.
DBUSER=Benutzer

#Hier das DB-Passwort des DB-Benutzers angeben.
DBPASS=Passwort

#Hier alle Datenbanken (durch ein Leerzeichen getrennt) eintragen, von denen ein Dump erstellt werden soll.
DBLIST='Datenbankname1 Datenbankname2 Datenbankname3 Datenbankname4'


#Nichts aendern

for DB in $DBLIST
{

DBASEFILE=$DUMPDIR$DB$DATUM.sql

# Datenbank speichern
mysqldump -u $DBUSER -p$DBPASS $DB > $DBASEFILE

# Gespeicherte Datei ausfuehrbar machen
chmod u=rwx,g+rwx,o+rwx $DBASEFILE

# Gespeicherte Datei komprimieren
gzip $DBASEFILE

}

# Zuletzt die Dateien loeschen, die aelter als 3 Tage sind
find $DUMPDIR -mtime +3 -exec rm {} \;

# Script beenden
exit 0;


2. Datenbanken automatisch neu aufsetzen (dbreset.sh)

Für Datenbanken, die leicht fragmentieren können, setze ich folgendes Script ein, um Datenbanken zu dumpen und dann neu aufzusetzen. Die Dateien werden nach dem Reset wieder gelöscht. Ich lasse es einmal am Tag, durch einen Cronjob ausführen. Auch hier benötigt das Verzeichnis (/root/dbreset/) entsprechende Rechte zum Lesen, Schreiben und Ausführen. Ebenso muss das Script (dbreset.sh) selbst, welches wieder im Rootverzeichnis liegt, mit Rechten zum Lesen und Ausführen versehen sein.

Code: Alles auswählen

#!/bin/sh

# Variablen definieren

#Hier das Dump-Verzeichnis angeben
RESETDIR=/root/dbreset/

#Hier den DB-Benutzernamen (admin) angeben.
DBUSER=Benutzer

#Hier das DB-Passwort des DB-Benutzers angeben.
DBPASS=Passwort

#Hier alle Datenbanken (durch ein Leerzeichen getrennt) eintragen, welche neu aufgesetzt werden sollen.
DBLIST='Datenbankname1 Datenbankname2 Datenbankname3 Datenbankname4'

# Pfade suchen
MYSQL=$(which mysql)
AWK=$(which awk)
GREP=$(which grep)


for DB in $DBLIST
{

DBASEFILE=$RESETDIR$DB.sql

# Datenbank speichern
mysqldump -u $DBUSER -p$DBPASS $DB > $DBASEFILE

# Gespeicherte Datei ausfuehrbar machen
chmod u=rwx,g-rwx,o+rwx $DBASEFILE 

# Alle Tabellen der Datenbank loeschen
TABLES=$($MYSQL -u $DBUSER -p$DBPASS $DB -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' )

for t in $TABLES
do
	$MYSQL -u $DBUSER -p$DBPASS  $DB -e "drop table $t"
done

# Datenbank wiederherstellen
$MYSQL -u $DBUSER -p$DBPASS $DB < $DBASEFILE

}

# Gespeicherte Dateien loeschen
find $RESETDIR -exec rm {} \;

exit 0;

3. Email für die Sicherungen (email.sh)

Klein aber wichtig! Einmal in der Woche, lasse ich mich daran erinnern, mir einen kompletten Dump auf meinen Heimrechner zu kopieren. Falls mein Server doch mal gehackt wird, kann ich die Datenbanken zumindest annähernd wieder herstellen. Auch hier benötigt das Script (email.sh) Rechte zum Lesen und Ausführen.

Code: Alles auswählen

#!/bin/sh

#Hier deine Mailadresse eintragen
MAILADR=Mailadresse

mail -s "DBDump" $MAILADR

exit 0;
Wie gesagt, brauchst du im Prinzip zwei Verzeichnisse(/root/dbdump/ und /root/dbreset/) im Root-Verzeichnis mit entsprechenden Rechten anlegen , diese drei Scripts (dbdump.sh, dbreset.sh, email.sh inkl.Rechte) im Root-Verzeichnis speichern. Vorher natürlich noch die Variablen 'DB-Benutzer/Passwort/Datenbanken' anpassen und dazu jeweils einen Cronjob anlegen. Dann läuft alles automatisch. Die Dumps und die Resets dauern so keine 3 Sekunden. Und die Datenbanken bleiben durch das dbreset unfragmentiert und schnell. :)

Re: Externes Backup Programm?

Verfasst: 03.07.2012 07:18
von Shorty1968
Vielen dank werde gleich mal Testen.

Re: Externes Backup Programm?

Verfasst: 04.07.2012 06:47
von bullim
@Shorty1968 : Und, hat es funktioniert?