Netsurfer Posted March 29, 2013 Share Posted March 29, 2013 Hallo, ich w?rde gerne erreichen, dass die Cronjobs unter Froxlor wie bspw. der Backup Cronjob zu einer bestimmten Uhrzeit ausgef?hrt werden. Kann mir netterweise jemand einen Tipp geben, wie ich das anstelle? Besten Dank im Voraus! Gru? Gunther Link to comment Share on other sites More sharing options...
Netsurfer Posted March 31, 2013 Author Share Posted March 31, 2013 Ja, danke - h?tte ich auch selber drauf kommen k?nnen ...! froxlor_froxlor_master_cronjob.lock-11705: Setting Lockfile to /var/run/froxlor_froxlor_master_cronjob.lock-11705Setting Froxlor installation path to /var/www/froxlorUserdatas includedTable definitions includedDatabase Class has been loadedDatabase-connection establishedFroxlor settings have been loaded from the databaseChecking froxlor file permissionsFroxlor version and database version are correctLogger has been included cron_tasks: Searching for tasks to doCronfiles have been includedClosing database connection und froxlor_cron_traffic.lock: 11710 Problem scheint mir eher darin zu liegen, dass die froxlor_cron_traffic.lock im Anschluss nicht gel?scht wird, oder zumindest nicht immer, was dann sp?testens beim n?chsten Start des Traffic Cronjobs zu dem besagten Problem f?hrt. Link to comment Share on other sites More sharing options...
d00p Posted March 31, 2013 Share Posted March 31, 2013 Naja das wurde ja jetzt durch das debug Flag nicht gel?scht... Schau mal ob es gel?scht wird wenn das nicht an ist (btw der traffic cron sollte nur 1x am Tag laufen, der Verbrauch wird sonst mehrfach berechnet) Link to comment Share on other sites More sharing options...
Netsurfer Posted March 31, 2013 Author Share Posted March 31, 2013 Naja das wurde ja jetzt durch das debug Flag nicht gel?scht... Schau mal ob es gel?scht wird wenn das nicht an ist (btw der traffic cron sollte nur 1x am Tag laufen, der Verbrauch wird sonst mehrfach berechnet) Schon klar, dass sie dieses Mal aufgrund der Debugging Einstellung nicht gel?scht wurde. Aber wurde sie vorher (ohne Debugging) eben auch nicht (bisher beide Male, wo der Job regul?r ausgef?hrt werden sollte). Und ja, der Traffic Cronjob l?uft normalerweise bei mir 1x am Tag. Link to comment Share on other sites More sharing options...
Netsurfer Posted March 31, 2013 Author Share Posted March 31, 2013 Ach, mir kommt da gerade so eine Idee ...! Kann es sein, dass im Anschluss an die Traffic-Berechnung auch der Traffic-Report ausgef?hrt werden muss und dieser die Lock-Datei l?scht? Link to comment Share on other sites More sharing options...
d00p Posted March 31, 2013 Share Posted March 31, 2013 Macht eigentlich alles der master Link to comment Share on other sites More sharing options...
Netsurfer Posted March 31, 2013 Author Share Posted March 31, 2013 Hmm ..., woran k?nnte es denn dann liegen, dass die .lock nicht gel?scht wird? Link to comment Share on other sites More sharing options...
d00p Posted March 31, 2013 Share Posted March 31, 2013 kann ich so nicht sagen, eventuell musst du da selbst die cronscripts mal durch-debuggen, ich treffe leider nicht auf diesen Fehler und kann es nicht reproduzieren Link to comment Share on other sites More sharing options...
Netsurfer Posted April 1, 2013 Author Share Posted April 1, 2013 Hallo! Ich bin, so glaube ich zumindest, ein St?ckchen schlauer ... Vorweg: Kannst du, oder jemand anders, mal bitte gucken, ob die Datei 'froxlor_cron_traffic.lock' in /var/run bei dir/ ihm auch grunds?tzlich nicht gel?scht wird, also immer vorhanden ist und nur bei jeder Ausf?hrung des entsprechenden Cronjobs der Zeitstempel aktualisiert wird? Diese Datei ist aber nicht, wie ich zuerst irrt?mlich angenommen habe, der Grund f?r die Benachrichtigung per E-Mail "There is already a Cronjob in progress. Exiting...". Sondern es ist der Backup Cronjob, der selbst bei relativ geringer Belegung des Speicherplatzes nicht in 5 Minuten fertig ist. Nun ist es nat?rlich zumindest "?u?erst l?stig", wenn man t?glich mind. einmal eine entsprechende Mail vom Daemon erh?lt. Kann man da irgendwie "Abhilfe" schaffen? Gru? Gunther Link to comment Share on other sites More sharing options...
Netsurfer Posted April 3, 2013 Author Share Posted April 3, 2013 Hi! Vorweg: Kannst du, oder jemand anders, mal bitte gucken, ob die Datei 'froxlor_cron_traffic.lock' in /var/run bei dir/ ihm auch grunds?tzlich nicht gel?scht wird, also immer vorhanden ist und nur bei jeder Ausf?hrung des entsprechenden Cronjobs der Zeitstempel aktualisiert wird? Die Lock Datei des Traffic Cronjobs wird nicht gel?scht, weil es schlicht keinen Befehl daf?r gibt in der Datei 'cron_traffic.php'. Folgende Erg?nzung am Ende der Datei "l?st" das Problem: Original: if(function_exists('pcntl_fork')) { die(); } Neu: if(function_exists('pcntl_fork')) { unlink($TrafficLock); die(); } Im Endeffekt ist es reine "Kosmetik", da das Vorhandensein der Datei 'froxlor_cron_traffic.lock' keinerlei Auswirkungen hat (wenn der (die) entsprechende(n) Prozess(e) beendet ist (sind)). Gru? Gunther Link to comment Share on other sites More sharing options...
d00p Posted April 3, 2013 Share Posted April 3, 2013 Netsurfer hat Recht, da wurde wohl beim Forken nicht mehr dran gedacht, dass das Lockfile auch wieder weg muss. Danke, wird sofort eingespielt EDIT: Doch nicht korrekt, sorry. Die urspr?ngliche Fehlermeldung vom OP war "There is already a Cronjob in progress. Exiting..." - diese kommt NICHT vom Traffic-Cron und hat auch nichts mit dessen Lock-File zu tun, das kommt direkt vom Master-Cronjob, und die Pr?fung wird in der lib/cron_init.php ausgef?hrt und das Lockfile in lib/cron_shutdown.php wieder gel?scht. Link to comment Share on other sites More sharing options...
Netsurfer Posted April 3, 2013 Author Share Posted April 3, 2013 Hi! Netsurfer hat Recht, da wurde wohl beim Forken nicht mehr dran gedacht, dass das Lockfile auch wieder weg muss. Danke, wird sofort eingespielt EDIT: Doch nicht korrekt, sorry. Die urspr?ngliche Fehlermeldung vom OP war "There is already a Cronjob in progress. Exiting..." - diese kommt NICHT vom Traffic-Cron und hat auch nichts mit dessen Lock-File zu tun, das kommt direkt vom Master-Cronjob, und die Pr?fung wird in der lib/cron_init.php ausgef?hrt und das Lockfile in lib/cron_shutdown.php wieder gel?scht. BTW: Ich bin der OP ...! Und ja, in Post #23 habe ich das ja bereits geschrieben. Und nein, die 'froxlor_cron_traffic.lock' wird eben nicht von der 'lib/cron_shutdown.php' wieder gel?scht. Gru? Gunther Link to comment Share on other sites More sharing options...
d00p Posted April 3, 2013 Share Posted April 3, 2013 und nein, die 'froxlor_cron_traffic.lock' wird eben nicht von der 'lib/cron_shutdown.php' wieder gel?scht. ist mir klar - aber deine "Fehlermeldung" beschreibt nicht das vorhandensein des traffic-cronlogs ("Traffic Run already in progress") sondern eben den des Master-Cronjobs ("There is already a Cronjob in progress. Exiting...") Link to comment Share on other sites More sharing options...
Netsurfer Posted April 3, 2013 Author Share Posted April 3, 2013 ist mir klar - aber deine "Fehlermeldung" beschreibt nicht das vorhandensein des traffic-cronlogs ("Traffic Run already in progress") sondern eben den des Master-Cronjobs ("There is already a Cronjob in progress. Exiting...") Diese Datei ist aber nicht, wie ich zuerst irrt?mlich angenommen habe, der Grund f?r die Benachrichtigung per E-Mail "There is already a Cronjob in progress. Exiting...". Sondern es ist der Backup Cronjob, der selbst bei relativ geringer Belegung des Speicherplatzes nicht in 5 Minuten fertig ist. Wie gesagt - siehe Post #23 Inzwischen bin ich ja auch ein St?ckchen weiter mit den ganzen Cronjobs - siehe Cronjobs - Master Cronjob Gru? Gunther Link to comment Share on other sites More sharing options...
d00p Posted April 3, 2013 Share Posted April 3, 2013 Alles klar, alles klar, hab ich wohl ?bersehen. Dann k?nnen wir das zumindest jetzt l?sen und dieses Topic damit schlie?en Link to comment Share on other sites More sharing options...
d00p Posted March 29, 2013 Share Posted March 29, 2013 Manuell den Timestamp der letzten Ausf?hrung in der Datenbank anpassen Link to comment Share on other sites More sharing options...
Netsurfer Posted March 29, 2013 Author Share Posted March 29, 2013 Besten Dank! Und "Frohe Ostern!" Gru? Gunther Link to comment Share on other sites More sharing options...
Netsurfer Posted March 31, 2013 Author Share Posted March 31, 2013 Hallo, ich nochmal ...! Das Setzen der entsprechenden Timestamps in der DB ist ja soweit kein Problem, allerdings habe ich jetzt immer den Fall, dass mir der Cron Daemon mailt:"There is already a Cronjob in progress. Exiting..." In welcher Reihenfolge und/ oder mit welchem min. Zeitabstand starte ich denn die einzelnen Cronjobs am besten? Laufen m?ssen alle au?er den beiden APS Jobs und die Intervalle sind unver?ndert. Besten Dank im Voraus! Gru? Gunther PS: ?rger macht immer der froxlor_cron_traffic ...! Link to comment Share on other sites More sharing options...
d00p Posted March 31, 2013 Share Posted March 31, 2013 der Fehler kommt wenn vom Master-Cronjob, der das Starten der Cronjobs managed. Der sollte laut default config alle 5 Minuten aufgerufen werden, logischerweise sollte also kein Cron einen Intervall von unter 5 Minuten haben, sonst verrennt er sich in eben diesen Fehler. Link to comment Share on other sites More sharing options...
Netsurfer Posted March 31, 2013 Author Share Posted March 31, 2013 Guten Morgen, und besten Dank f?r deine schnelle Antwort. der Fehler kommt wenn vom Master-Cronjob, der das Starten der Cronjobs managed. Der sollte laut default config alle 5 Minuten aufgerufen werden, logischerweise sollte also kein Cron einen Intervall von unter 5 Minuten haben, sonst verrennt er sich in eben diesen Fehler. Der Master-Cronjob hat bei mir auch das Standard-Interval von 5 Minuten und es gibt keinen anderen Cronjob mit einem k?rzeren Intervall. Ich habe bereits ausprobiert das, den jeweils letzten Ausf?hrungszeitpunkt der einzelnen Jobs zeitlich versetzt zu setzen, genauso wie alle auf denselben Zeitpunkt. Ergebnis ist in beiden F?llen gleich: Es bleibt immer die /var/run/froxlor_cron_traffic.lock, die dann beim n?chsten Start des Master-Cronjobs besagten Fehler samt Benachrihtigung produziert. EIne Idee? Link to comment Share on other sites More sharing options...
d00p Posted March 31, 2013 Share Posted March 31, 2013 hm, hast du denn sehr viele Kunden oder sehr viele Domains die da jedes mal verarbeitet werden m?ssen? Link to comment Share on other sites More sharing options...
Netsurfer Posted March 31, 2013 Author Share Posted March 31, 2013 Nein, eben nicht. Bisher ist der Server eher noch "leer". 16 Kunden, aber nur bei zweien ?berhaupt wirklicher Inhalt (Web) und 3 Mail-Accounts. Link to comment Share on other sites More sharing options...
d00p Posted March 31, 2013 Share Posted March 31, 2013 oh ja...hm, wie gro? sind so die access.log von den 16 kunden? wenn es am traffic cron liegt, muss es was damit zu tun haben. Schau mal nach, ob dir evtl. die PHP extension pcntl installiert hast, damit kann Froxlor den traffic cron in einem eigenen Prozess forken und diesen Fehler umgehen. Link to comment Share on other sites More sharing options...
Netsurfer Posted March 31, 2013 Author Share Posted March 31, 2013 Bis auf eine, die knapp 28 MB gro? ist, sind alle anderen "unbedenklich" klein. Verwende auch Logrotate. Zu deiner Empfehlung mit der pcntl ist das erste was ich dazu gefunden habe:"Process Control should not be enabled within a web server environment and unexpected results may happen if any Process Control functions are used within a web server environment." Von daher w?re es mir lieber, wenn sich das Problem auch anders l?sen lassen w?rde ...! Link to comment Share on other sites More sharing options...
d00p Posted March 31, 2013 Share Posted March 31, 2013 naja, du nutzt die funktion ja nicht im webinterface sondern nur auf der shell...f?r die apache2-php.ini kannstes ja verbieten so lange die cli das darf Link to comment Share on other sites More sharing options...
Netsurfer Posted March 31, 2013 Author Share Posted March 31, 2013 So, musste jetzt erstmal nachgucken. Also ich habe (u.a.) das Paket php5-cli 5.3.23-1~dotdeb.0 installiert. Soweit ich wei?, beinhaltet das doch die pcntl. Auszug von debian.org dazu: Kommandozeilen-Interpreter f?r die Skriptsprache PHP5Dieses Paket stellt den Kommandozeilen-Interpreter /usr/bin/php5 zur Verf?gung, der f?r das Testen von PHP-Skripten in einer Shell oder auch f?r die Erledigung von Shell-Skripting-Aufgaben verwendet werden kann. Die folgenden Erweiterungen sind integriert: bcmath, bz2, calendar, Core, ctype, date, dba, dom, ereg, exif, fileinfo, filter, ftp, gettext, hash, iconv, json, libxml, mbstring, mhash, openssl, pcntl, pcre, Phar, posix, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlwriter, zip und zlib. Muss ich denn ansonsten noch irgendetwas "machen", oder benutzt Froxlor die automatisch, wenn vorhanden? Link to comment Share on other sites More sharing options...
Question
Netsurfer
Hallo,
ich w?rde gerne erreichen, dass die Cronjobs unter Froxlor wie bspw. der Backup Cronjob zu einer bestimmten Uhrzeit ausgef?hrt werden.
Kann mir netterweise jemand einen Tipp geben, wie ich das anstelle?
Besten Dank im Voraus!
Gru?
Gunther
Link to comment
Share on other sites
28 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.