Cronjob Cache löschen per dcaconfig.php deaktivieren
Weiß jemand, wie man den Cronjob für das tägliche Leeren des Cache-Verzeichnisses sytem/tmp in der Datei dcaconfig.php deaktiviert?
Mein Versuch mittels:
Code:
$GLOBALS['TL_CRON']['daily']['Automator']['purgeTempFolder'] = false;
hat keinen Erfolg gebracht, offensichtlich ist die Syntax falsch. Weiß jemand Rat?
Gruß
Michael
system/tmp löschen aber nur Dateien älter als 2 Tage
Hallo !
Habe hier alle Beiträge aufmerksam verfolgt und hätte dazu eine Frage.
Ich habe den Code von Leo bei mir eingebaut und lösche via FTP nun manuell cache files die älter als 2 Tage sind. Da sich der Inhalt meiner Seite global nur alle 2-3 Wochen ändert, ist die cache Zeit auf 12 Std eingestellt.
Leider kann ich kaum php....würde aber den code von Leo gerne so erweitern, dass eben täglich der Job zwar läuft, aber eben nur ältere (Dateidatum) cache files gelöscht werden.
Würde das gehen ?
Wenn ja, wie müsste der code aussehen ?
Wo liegen die Nachteile ?
lg Klaus
"Laien" codeschnipsel system/tmp/*.* zeitabhängig löschen
Hallo !
Vorweg..keine PHP Ahnung, aber ich habe mich etwas damit befasst und würde gerne das was ich derzeit manuell mache (= Dateien die älter als 12 std sind via ftp löschen) automatisieren.
Habe mich als php laie mal ins handbuch eingelesen und mir das zusammengereimt:
Code:
/**
*Löschen von Dateien im system/tmp nach bestimmten Zeitraum
*/
if ($handle = opendir('tmp')) {
foreach (glob("tmp/*.*") as $filename) {
if (filemtime($filename) + 43200 < time()) {
@unlink($filename);
}
}
}
So...und jetzt weis ich nicht weiter.....und bitte um Hilfe...bzw will ich da echt auch etwas dazulernen...
Wo müsste man das einbauen, dass dies täglich ausgeführt wird ?
stimmt der verzeichnisaufruf überhaupt ,oder muß das ein absoluter serverpfad sein ?
ist der code oben ok ?
und da hat sich auch noch eine frage ergeben: file erstelldatum oder änderungsdatum ?
oder ?
:o jeder fängt mal neu an ;)
Danke und LG Klaus
ps: das ist schon in der localconfig eingebaut und klappt...
Re: "Laien" codeschnipsel system/tmp/*.* zeitabhängig löschen
Moin Klaus,
ich will Dich nicht von eigenen Experimenten abhalten, Dein Ansatz mit filemtime() ist schon richtig. filectime() ist nebenbei NICHT die "Creation time", jedenfalls nicht auf UNIX Systemen. Ansonsten sollte man in TL weder opendir() noch glob() verwenden, sondern das TL Framework. Und der Pfad muss absolut sein, sowas wie TL_ROOT . '/system/tmp/' . $filename ...
Aber ich sitze seit vorgestern in meiner Freizeit an einer kleinen Erweiterung [purge_old], die das vernünftig macht. Sie ersetzt automatisch den normalen Cronjob Automator :: purgeTempFolder() mit einer Variante, die nur "alte" Dateien aus system/tmp löscht. Was als "alt" anzusehen ist, kann in localconfig.php eingestellt werden (default ist 24 Stunden). Sie ersetzt auch NUR den Cronjob, im Backend kann man nach wie vor ausdrücklich alle Dateien aus system/tmp löschen.
Die Erweiterung ist weitestgehend fertig, ich schreibe gerade eine kleine Doku und mache nochmal einen Abschluss-Test.
LG, Georg
Liste der Anhänge anzeigen (Anzahl: 2)
[purge_old] oder: der frühe Vogel fängt (endlich) den Wurm
Moin alle,
in der Anlage meine alpha Erweiterung, wie versprochen. Muss manuell installiert werden. Bitte auch die Doku (in purge_old/doc) lesen. Ich hoffe, das funktioniert auch für Euch.
Netto 1 Zeile zusätzlicher Code (Prüfung der Änderungszeit) ... aber sooooo viel Zeugs drumherum, bis das für "Endverbraucher" benutzbar wird.
Edit: Neue Version hochgeladen.
LG, Georg