devzero
I'm new here

fs5preview in externem tomcat

Jump to solution

Hallo zusammen,

ich habe eine Frage zum preview_cache in einer tomcat6 Instanz.

/opt/tomcat6-base/servers/firstspirit/work/Catalina/localhost/fs5preview

Dort liegen die kompilierten Preview Dateien in Unterordnern:

z.B.

org/apache/jsp/preview_005fcache/_431980

Können wir den preview_cache mit einer Art Logrotation auf Shellscript Basis aufräumen?

Hintergrund meiner Frage ist der Plattenplatz.

Da im preview_cache sehr viele alte Daten liegen, würden wir hier gerne automatisiert ein wenig aufräumen.

Danke und Gruß Ralf

0 Kudos
1 Solution

Accepted Solutions

-atime ist schon richtig = access time, beliebiger Zugriff lesend oder schreibend

-mtime passt hier nicht = modification time, Änderung des Inhalt

-mtime passt hier nicht, denn wenn unter work z.B. ein JAR abgelegt wird, würde dies mehrere Tage lang, bis zum Software-Update nicht geändert und somit irgendwann gelöscht, so dass dass die Anwendung abbricht. Weil das JAR aber regelmässig gelesen wird vom Tomcat, wird es bei Nutzung von -atime nicht gelöscht.

View solution in original post

0 Kudos
6 Replies
marza
I'm new here

Hallo Ralf,

Laut Kapitel 4.1.3 der FS-Admin-Doku sind das Temp-Verzeichnisse. Also würde ich davon ausgehen, dass man die Daten dort drin einfach per cronjob löschen kann. Unter Kapitel 7.2.2.1 gibt es im ServerManager auch eine Funktion bzw. einen Dialog der das für Dich übernimmt.

Grüße Marian

0 Kudos

Hallo Marian,

das hatte ich auch schon gelesen. Aber meines Erachtens bezieht sich das mit den temporären Dateien nur auf das work Verzeichnis.

~fs5\work    Temporäre FirstSpirit Dateien

Der Servermanager ist keine Option, da der unter einem anderen technischen Benutzer läuft als der Tomcat. Dem fehlen die Rechte dort zu löschen.

Gruß Ralf


0 Kudos
isenberg
I'm new here

Hallo Ralf,

weil FirstSpirit unter fs5preview/preview_cache und fs5webedit/preview_cache bei Anforderung einer Seitenvorschau durch Redakteure auf geändertem Inhalt jeweils eine neue Datei dort ablegt und sofern im Projekt JSP verwendet wird, Tomcat dafür wiederum eine kompilierte JSP-Datei erstellt, können sich unter tomcat/work tatsächlich auf Dauer viele Dateien ansammeln.

Mit einem Löschen auf Basis der letzten Zugriffszeit sollte der Ordner tomcat/work aber aufzuräumen sein. Wichtig ist hier die letzte Zugriffszeit, die auch Lesezugriffe umfasst, zu verwenden und nicht die letzte Änderungszeit, denn ansonsten könnten für die Web-Anwendung benötigte Dateien versehentlich gelöscht werden. Also beim "find" -atime statt -mtime verwenden. Beispiel zum Löschen aller Dateien, die vor 10 oder mehr Tagen zuletzt geöffnet wurden:

find /opt/tomcat6-base/servers/firstspirit/work -atime +10 -type f -exec rm \{\} \;

Hallo Holger,

danke für den Hinweis mit -atime. Wir hatten zwischenzeitlich den CRON schon mit -mtime angelegt und werden den jetzt anpassen auf -atime.

Vielen Dank

0 Kudos

-atime ist schon richtig = access time, beliebiger Zugriff lesend oder schreibend

-mtime passt hier nicht = modification time, Änderung des Inhalt

-mtime passt hier nicht, denn wenn unter work z.B. ein JAR abgelegt wird, würde dies mehrere Tage lang, bis zum Software-Update nicht geändert und somit irgendwann gelöscht, so dass dass die Anwendung abbricht. Weil das JAR aber regelmässig gelesen wird vom Tomcat, wird es bei Nutzung von -atime nicht gelöscht.

0 Kudos

Das ist richtig, wobei wir allerdings bei unserem CRON nicht das gesamte work Verzeichnis mit einbezogen haben, sondern nur das fs5preview Verzeichnis "find'en".

Aber mit -atime können wir das work Verzeichnis mit einbeziehen.

Danke

0 Kudos