PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeitgesteuerte Aufgaben - auch für Aufgaben, die länger dauern?


rellek
06.10.2006, 18:55
Hallo,

ich habe derzeit einen Cron-Job bei einem kostenlosen Anbieter für selbige.
Dieser Cron-Job macht jeden Tag um 4 ein Backup der SQL-Datenbank.

Nun ist es aber so, dass dieser Anbieter ein Timeout von 30 Sekunden gesetzt hat. Wenn ich nun auf vB umsteige, wird die Datenbank ja ein bisschen (bei mir sehr viel :D) größer, sodass ich nun Angst habe, dass die 30 Sekunden nicht mehr ausreichen.

Daher nun die Frage: Taugt das Cron-Job-System im vBulletin auch dazu, dass man solche länger dauernden Aufgaben ausführen lässt?
Also nicht, dass man das Browser-Fenster schließt und der Job z.B. abgebrochen wird?

Und: Muss das unbedingt ein zum vB gehöriges PHP-Script sein, oder kann das beispielsweise auch ein Perl-Script sein, das in einem anderen Ordner liegt?

Vielen Dank für eure Antworten :-)

rellek

Christian
07.10.2006, 13:48
Generel ja, mit den PHP Befehl exec() oder system(), allerding muss safe_mode auf Off stehen.

rellek
07.10.2006, 13:55
//edit
Danke für deine Antwort :-)

Gut, also nicht. Bei all-inkl sind beide Befehle in PHP gesperrt :(
//end e

Meine eigenen Erkenntnisse (habs einfach mal ausprobiert):
Da es sonst keiner macht, antworte ich mal selber: (gut, ist wohl jetzt ungültig, sry *g*)
Theoretisch ginge es wohl, wenn mein Backup-Script ein PHP- und kein Perl-Script wäre.

Wo das Script am Ende liegt, scheint egal zu sein, aber es muss der relative Pfad ausgehend vom Forum angegeben werden.


Ich habs auch mal mit einem kleinen Work-Around probiert, also eine PHP-Datei gemacht, die via header("Location: ..."); auf das Perl-Script leitet, aber das ging irgendwie nur aus dem ACP heraus... Im Forum hat sich nix getan.

Onur
07.10.2006, 14:10
vielleicht nicht die antwort auf die frage aber zum thema Cron

wie kann man einen Cron eine datei (cgi + nur über URL) aufrufen lassen?

fopen() oder gibt es einen "ping" bzw kann man sowas mit fsockopen() bewerkstelligen?

es brauchte ja im grunde nicht mehr als einen request der datei, das ende erlebt bei einem größeren Backup eh kein PHP-skript, nur sollte der dann auch wirklich einmalig sein, nicht das vB da dann einen kleinen DDOS startet :(