Fehlermeldung bei PERL Script (Datenbankbackup) |
Erazor
Mitglied
Dabei seit: 19.01.04
Beiträge: 513
Forenversion: 2.3.3
|
|
Hallo zusammen,
Meine Datenbank wurde seit Monaten immer mit einem Aufruf von einem Perl Script auf den Server gesichert. (Mit Hilfe eines Cron-Jobs) Seit knapp 6 Wochen erhalte ich nun per Mail immer die untenstehende Fehlermeldung. Die Datenbanksicherung wird aber fehlerfrei angelegt!
"500 EOF when chunk header expected"
Kann mir jemand erklären woran dies liegt? Untenstehend meine .pl Datei ohne die geheimen Daten...
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
|
#!/usr/bin/perl
# BackUpScript (c) 2003 by www-jgs-xa.de
# Einstellungen
$verzeichnis_vom_backup = "Backups/Locomotion"; # Am besten einen Ordner "backups" anlegen CMD 777 setzen und den Namen dazu hier angeben
# dieser Name bezieht sich auf das Hauptverzeichnis der Domain, ist also nicht der
# komplette PATH vom Server, dieser wird automatisch ausgelesen. Falls Sie den Ordner
# für die Backups in einem Unterverzeichnis haben so geben Sie dies in diesem Format
# an: "unterverzeichnis/backup" also jeweils ohne das "/" Zeichen an Anfang und Ende
$host = "localhost"; # normaerweise localhost
$user = "zensiert"; # Benutzername zum Login für MySQL
$passwort = "zensiert"; # Das Passwort dafür
$dbname = "zensiert"; # Der Name der Datenbank
####################################
# Ab hier bitte nichts mehr ändern #
####################################
# $verzeichnis_vom_backup = '$DOCUMENT_ROOT/'.$verzeichnis_vom_backup;
$verzeichnis_vom_backup = '/home/erazor/public_html/'.$verzeichnis_vom_backup;
print "Content-type: text/html\n\n";
($sec,$min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[0,1,2,3,4,5,6];
$mon += 1;
$year += 1900;
if (length($sec) == 1){$sec="0$sec";}
if (length($min) == 1){$min="0$min";}
if (length($hour) == 1){$hour="0$hour";}
if (length($mday) == 1){$mday="0$mday";}
if (length($mon) == 1){$mon="0$mon";}
$datum_zeit = "$year\-$mon\-$mday\_$hour\-$min\-$sec";
system("mysqldump --all -e -l --add-drop-table --host=$host --user=$user --password=$passwort $dbname > $verzeichnis_vom_backup/backup-$dbname-$datum_zeit.sql") == 0 or &error("Konnte Dump nicht anlegen!");
system("gzip -f $verzeichnis_vom_backup/backup-$dbname-$datum_zeit.sql") == 0 or &error("Konnte zip nicht anfertigen!");
print "Backup wurde erstellt!<br>Der Name der Backup-Datei lautet: backup-$dbname-$datum_zeit.sql.gz";
exit; |
|
Der Supporter von meinem Webhoster konnte den Fehler leider auch nicht finden, er sei angeblich mehr auf PHP spezialisiert wie auf Perl...
Bitte um eure Hilfe & bedanke mich im Voraus
Grüsse, Erazor
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Erazor: 04.06.06 14:29.
|
|
04.06.06 14:29 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
xundy
Mitglied
Dabei seit: 16.01.04
Beiträge: 817
Forenversion: 2.3
|
|
Du solltest die Ausgabe des Script abfangen, macht schließlich ekeinen Sinn ein automatisches Script ein Ausgabe per echo erzeugen zu lassen
mfg
__________________ Fragen kostet nichts, nicht fragen kann teuer werden!
|
|
05.06.06 00:16 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Erazor
Mitglied
Dabei seit: 19.01.04
Beiträge: 513
Forenversion: 2.3.3
Themenstarter
|
|
Huhu XundY,
Sorry aber für mich ist deine Aussage noch ein bisschen zu hochgestochen, kannst du das bitte für einen Script-Noobie erklären? Meinst du dass ich die E-Mail Benachrichtigung deaktivieren sollte?
Grüsse
Erazor
|
|
05.06.06 11:22 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
xundy
Mitglied
Dabei seit: 16.01.04
Beiträge: 817
Forenversion: 2.3
|
|
Du startest ein Script im Hintergrund diese gibt aber eine Statusmeldung auf dem Screen aus(versucht es zumindest)
"print "Content-type: text/html\n\n";" und
"print "Backup wurde erstellt!<br>Der Name der Backup-Datei lautet: backup-$dbname-$datum_zeit.sql.gz";
"
Setze vor die Zeilen ein #
dann sollte die Fehlermeldung nicht mehr kommen.
mfg
__________________ Fragen kostet nichts, nicht fragen kann teuer werden!
|
|
05.06.06 11:56 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Erazor
Mitglied
Dabei seit: 19.01.04
Beiträge: 513
Forenversion: 2.3.3
Themenstarter
|
|
Nun erhalte ich stets die folgende Mitteilung im Mail
Zitat: |
500 Server closed connection without sending any data back |
Nochmals meine nun geänderte Backup Datei.
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
|
#!/usr/bin/perl
# BackUpScript (c) 2003 by www-jgs-xa.de
# Einstellungen
$verzeichnis_vom_backup = "Backups/Locomotion"; # Am besten einen Ordner "backups" anlegen CMD 777 setzen und den Namen dazu hier angeben
# dieser Name bezieht sich auf das Hauptverzeichnis der Domain, ist also nicht der
# komplette PATH vom Server, dieser wird automatisch ausgelesen. Falls Sie den Ordner
# für die Backups in einem Unterverzeichnis haben so geben Sie dies in diesem Format
# an: "unterverzeichnis/backup" also jeweils ohne das "/" Zeichen an Anfang und Ende
$host = "localhost"; # normaerweise localhost
$user = "erazor_erazor"; # Benutzername zum Login für MySQL
$passwort = "hg225295"; # Das Passwort dafür
$dbname = "erazor_locoforum"; # Der Name der Datenbank
####################################
# Ab hier bitte nichts mehr ändern #
####################################
# $verzeichnis_vom_backup = '$DOCUMENT_ROOT/'.$verzeichnis_vom_backup;
$verzeichnis_vom_backup = '/home/erazor/public_html/'.$verzeichnis_vom_backup;
#print "Content-type: text/html\n\n";
($sec,$min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[0,1,2,3,4,5,6];
$mon += 1;
$year += 1900;
if (length($sec) == 1){$sec="0$sec";}
if (length($min) == 1){$min="0$min";}
if (length($hour) == 1){$hour="0$hour";}
if (length($mday) == 1){$mday="0$mday";}
if (length($mon) == 1){$mon="0$mon";}
$datum_zeit = "$year\-$mon\-$mday\_$hour\-$min\-$sec";
system("mysqldump --all -e -l --add-drop-table --host=$host --user=$user --password=$passwort $dbname > $verzeichnis_vom_backup/backup-$dbname-$datum_zeit.sql") == 0 or &error("Konnte Dump nicht anlegen!");
system("gzip -f $verzeichnis_vom_backup/backup-$dbname-$datum_zeit.sql") == 0 or &error("Konnte zip nicht anfertigen!");
#print "Backup wurde erstellt!<br>Der Name der Backup-Datei lautet: backup-$dbname-$datum_zeit.sql.gz";
exit; |
|
Kannst du mir hier noch weiterhelfen? Wäre toll von dir!
Bedanke mich im Voraus
Grüsse, Erazor
|
|
07.06.06 20:02 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
|