Perl Sriptlaufzeit

manni2805

New Member
Hallo alle zusammen.

Ich habe nun den halben Tag damit verbracht hier und über google nach einer Lösung zu finden, bin aber leider noch nicht viel schlauer geworden...

Ich habe folgendes Problem:
Ich bin gerade dabei die Backups von meinen Seiten zu automatisieren.
Für Datenbankbackups nutze ich das tool "mysqldumper", das funktioniert soweit auch alles tadellos.

Ich habe jedoch ein Problem mit den Perl-Crons.
Die Backups werden bei Cornjobs mit Hilfe eines Perl Scriptes erstellt und sollen dann auf einen Backupspace übertragen werden.

Dier Erstellung des Backups bricht aber mittendrin ab.
Im Perl-Log ist kein Fehler oder dergleichen zu sehen, es geht einfach nicht weiter.
Da es sich um Datenbanken mit mehreren GB Inhalt handelt, denke ich, dass die Scriptlaufzeit von Perlscripten auf meinem Server das Problem darstellt.

Leider scheint das anheben der Scriptlaufzeit nicht so einfach zu sein wie bei PHP, ich habe zumindest bis jetzt keine ini oder dergleichen gefunden.

root Zugriff etc ist alles vorhanden, wie kann ich das Scriptlaufzeit-Limit bei Perl-Scripten anheben? Hat jemand nen Tipp oder ne Lösung? Ich wäre sehr sehr dankbar!

Betriebssystem: CentOS

Danke!
 
Ich bin kein großer Perl Frickler, aber soweit ich weiß hat Perl kein solches Limit wie PHP.
Überträgt dein Script die Daten direkt irgendwo hin? Also via FTP, SCP, was auch immer. Dann könnte ein Abbruch dieser Verbindung auch dazu führen.
Aber ohne das Script zu kennen, kann man sowas schlecht debuggen.

Wenn bisher nichts in den Logs steht, bau doch ein paar zusätzliche Debug Ausgaben in das Script.
 
Das Backup wird zuerst auf dem Server erstellt und gespeichert, dann mittels FTP auf den Backupserver übertragen (das klappt auch).
Manuell klappt alles, nur der cron mit Perl macht Probleme.

Habe die Verbindung mehrfach getestet, die funktioniert (bei manuellen backups wird die gleiche Verbindung verwendet).

So, 3 Stunden später:

Ich habe jetzt 3mal aufgrund von zu "extremen" queries meinen Apache in die ewigen Jagdgründe geschickt.

Bin jetzt aber soviel weiter:
Ich habe die Datenbanken aufgeräumt und etwas Datenmüll entfernt.
Eine Datenbank habe ich jetzt von weit über 1GB auf gerade mal 700MB gedrückt.

Das Ergebnis:
Jetzt klappt es, der cron wird aufgerufen, das Perlscript erstellt eine backup datei und diese wird normal auf den Backupspace übertragen.
Die Tabelle, wo vorher abgebrochen wurde, wird nun ganz normal durchlaufen. Die Tabelle ist auch nicht die größe, daher scheidet für mich die größe der Tabellen als Ursache ebenfalls aus.

Ich denke dadurch erhärtet sich mein Verdacht, dass die Scriptlaufzeit für Perl-Skripte begrenzt ist.
Nur wo ist die entsprechende config...?

Thx
 
Wie sieht denn die Zeile in der Crontab aus? Was für ein System hast Du?

per default sind Perl-Scripte, die an der Konsole aufgerufen werden nicht beschränkt - je nach System kann da aber durchaus das eine oder andere "gemacht" werden...
 
Back
Top