diff --git a/lib/functions/froxlor/function.checkCrondConfigurationFile.php b/lib/functions/froxlor/function.checkCrondConfigurationFile.php index 05c956df..6848a43a 100644 --- a/lib/functions/froxlor/function.checkCrondConfigurationFile.php +++ b/lib/functions/froxlor/function.checkCrondConfigurationFile.php @@ -41,6 +41,9 @@ function checkCrondConfigurationFile() { SELECT * FROM `" . TABLE_PANEL_CRONRUNS . "` WHERE `isactive` = '1' "); + $hour_delay = 0; + $day_delay = 5; + $month_delay = 7; while ($row_cronentry = $result_stmt->fetch(PDO::FETCH_ASSOC)) { // create cron.d-entry if (preg_match("/(\d+) (MINUTE|HOUR|DAY|WEEK|MONTH)/", $row_cronentry['interval'], $matches)) { @@ -49,16 +52,25 @@ function checkCrondConfigurationFile() { $cronfile .= "*/" . $matches[1] . " * * * * "; break; case "HOUR": - $cronfile .= "* */" . $matches[1] . " * * * "; + $cronfile .= $hour_delay." */" . $matches[1] . " * * * "; + $hour_delay += 3; break; case "DAY": - $cronfile .= "* * */" . $matches[1] . " * * "; - break; - case "WEEK": - $cronfile .= "* * * */" . $matches[1] . " * "; + $cronfile .= $day_delay." 0 */" . $matches[1] . " * * "; + $day_delay += 5; break; case "MONTH": - $cronfile .= "* * * * */" . $matches[1] . " "; + if ($row_cronentry['cronfile'] == 'traffic') { + // traffic at exactly 0:00 o'clock + $cronfile .= "0 0 0 */" . $matches[1] . " * "; + } else { + $cronfile .= $month_delay." 0 0 */" . $matches[1] . " * "; + $month_delay += 7; + } + break; + case "WEEK": + $cronfile .= $day_delay." 0 " . ($matches[1] * 7) . " * * "; + $day_delay += 5; break; } diff --git a/lng/german.lng.php b/lng/german.lng.php index eebd5c94..8a9aab6b 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1525,6 +1525,6 @@ $lng['serversettings']['mtalog']['description'] = "Die Logdatei des Mail Transfe $lng['panel']['ftpdesc'] = 'FTP Beschreibung'; $lng['admin']['cronsettings'] = 'Cronjob Einstellungen'; $lng['serversettings']['system_cronconfig']['title'] = 'Cron-Konfigurationsdatei'; -$lng['serversettings']['system_cronconfig']['description'] = 'Pfad zur Konfigurationsdatei des Cron-Dienstes. Diese Datei wird von froxlor automatisch aktualisiert.
Hinweis: bitte nicht die gleiche Datei wie für den Froxlor-Hautp-Cronjob angeben (/etc/cron.d/froxlor)!'; +$lng['serversettings']['system_cronconfig']['description'] = 'Pfad zur Konfigurationsdatei des Cron-Dienstes. Diese Datei wird von froxlor automatisch aktualisiert.
Hinweis: bitte nicht die gleiche Datei wie für den Froxlor-Haupt-Cronjob angeben (/etc/cron.d/froxlor)!'; $lng['tasks']['remove_ftpacc_files'] = 'Kunden FTP-Konto Dateien löschen'; $lng['tasks']['regenerating_crond'] = 'Neuerstellung der cron.d-Datei';