Dr. Web: TMP-Dateien automatisch auf Linux-Server löschen

Hallo Zusammen

Mit einem PHP-Script generiere ich TMP-Dateien auf einen Linux-Server. Es kann aber vorkommen, dass diese Dateien vom Script nicht mehr gelöscht werden und sie werden zu "Müll-Dateien".
Ist es möglich den Linux-Server so zu konfigurieren, dass er diese Dateien nach einer gewissen Periode löscht und wenn ja, wie? (Ich könnte die Files "tmp" auch umbenennen)

P.S: Ich weiss, dass man das auch mit PHP lösen kann. Doch das will ich nicht, da dies beim Scriptaufruf jedesmal Zeit in Anspruch nimmt.

  1. hi

    Ist es möglich den Linux-Server so zu konfigurieren, dass er diese Dateien nach einer gewissen Periode löscht und wenn ja, wie? (Ich könnte die Files "tmp" auch umbenennen)

    Machs mit einem cronjob

    0 * * * *  rm -f -r /tmp*

    geht dann zu jeder vollen stunde (und -r löscht auch die subdirs)...

    Rolf

    1. hi

      Ist es möglich den Linux-Server so zu konfigurieren, dass er diese Dateien nach einer gewissen Periode löscht und wenn ja, wie? (Ich könnte die Files "tmp" auch umbenennen)

      Machs mit einem cronjob

      0 * * * *  rm -f -r /tmp*

      geht dann zu jeder vollen stunde (und -r löscht auch die subdirs)...

      finde ich keine gute Lösung!
      Du löscht ja dann alles zur angegebenen Zeit. Da sind aber u.U. aus X-Sessions usw. wichtige Daten drin.
      In meiner Suse ist das so voreingestellt, daß das das letzte Lesen berücksichtigt, also Daten die z.B. drei Tage nicht mehr angefaßt wurden werden gelöscht.
      Wie man das selbst in Perl realisieren könnte, kann ich bei Interesse auch mal posten. Muß ich aber nachsehen, weiß ich jetzt nicht aus dem Kopf.

      Gruß
      Reiner

      1. Hi,

        0 * * * *  rm -f -r /tmp*
        finde ich keine gute Lösung!
        Du löscht ja dann alles zur angegebenen Zeit. Da sind aber u.U. aus X-Sessions usw. wichtige Daten drin.

        Alles, was sich in /tmp befindet ist nicht wichtig. Sollte sich doch mal ein Programm dafür entscheiden, wichtige Daten in /tmp abzulegen, so ist das als Bug zu betrachten und der Ersteller der betroffenen Software zu informieren.

        In meiner Suse ist das so voreingestellt, daß das das letzte Lesen berücksichtigt, also Daten die z.B. drei Tage nicht mehr angefaßt wurden werden gelöscht.

        Warum soll ich den ganzen Müll so lange behalten?
        Ihn stündlich zu löschen halte ich für etwas übertrieben (Es kann natürlich Vorraussetzungen geben, die das brauchen, aber die sind recht selten) aber einmal nächtlich sollte keinen Ärger geben.

        so short

        Christoph Zurnieden

        1. Hi,

          0 * * * *  rm -f -r /tmp*
          finde ich keine gute Lösung!
          Du löscht ja dann alles zur angegebenen Zeit. Da sind aber u.U. aus X-Sessions usw. wichtige Daten drin.

          Alles, was sich in /tmp befindet ist nicht wichtig. Sollte sich doch mal ein Programm dafür entscheiden, wichtige Daten in /tmp abzulegen, so ist das als Bug zu betrachten und der Ersteller der betroffenen Software zu informieren.

          ich habe mir dazu mal ein paar Gedanken gemacht:
          Es ist natürlich Deine Sache, wie Du vorgehst! Aber Linux hat den Vorzug, ein Multiusersystem zu sein. Standardmäßig darf jeder ins /tmp schreiben, die Datei gehört ihm andere dürfen das lesen.
          So nutze ich das z.B. zum Datenaustausch. Wenn Du dich als Root (selbst wenn Du alleine auf der Kiste arbeitest) darüber hinwegsetzt, einfach die Daten löscht, empfinde ich das als unschön. Der User will nicht auf die Uhr sehen: "Jetzt müssen wir uns beeilen, in 5 Minuten kommt wieder der Typ mit dem Radiergummi..."
          Wenn Du alle x Tage, Stunde, Wochen löschst, aber in Abhängigkeit vom Alter! Das empfinde ich jedenfalls als wesentlich berechenbarer.
          Übrigens: Die Aussage, alles was in /tmp ist, ist nicht wichtig kann ich gar nicht verstehen! Wieso existiert das dann überhaupt???

          Gruß
          Reiner

          1. Hi,

            Alles, was sich in /tmp befindet ist nicht wichtig. Sollte sich doch mal ein Programm dafür entscheiden, wichtige Daten in /tmp abzulegen, so ist das als Bug zu betrachten und der Ersteller der betroffenen Software zu informieren.

            ich habe mir dazu mal ein paar Gedanken gemacht:
            Es ist natürlich Deine Sache, wie Du vorgehst! Aber Linux hat den Vorzug, ein Multiusersystem zu sein. Standardmäßig darf jeder ins /tmp schreiben, die Datei gehört ihm andere dürfen das lesen.

            Wenn das andere lesen können, sollte sich derjenige, der reingeschrieben hat ernsthaft Gedanken um die Rechtezuteilung des schreibenden Programmes machen. Ich würde das als Bug bezeichnen.
            Das /tmp Verzeichnis sollte auch nicht für sensible Daten benutzt werden. Man kann auch in seinem eigenem /home Verzeichnis ein /tmp einbauen und nutzen, insbesondere Root sei das wärmstens empfohlen.

            So nutze ich das z.B. zum Datenaustausch.

            Warum benutzt Du dafür das /tmp Verzeichnis? Es gibt einige Möglichkeiten des Datenaustausches aber kein Programm benutzt das /tmp Verzeichnis zur festen Datenhaltung. Was benutzt Du denn da?

            Wenn Du dich als Root (selbst wenn Du alleine auf der Kiste arbeitest) darüber hinwegsetzt, einfach die Daten löscht, empfinde ich das als unschön. Der User will nicht auf die Uhr sehen: "Jetzt müssen wir uns beeilen, in 5 Minuten kommt wieder der Typ mit dem Radiergummi..."

            Ja und? Es heiß nicht umsonst "temporäres Verzeichnis".
            Der User hat ein eigenes Home-Verzeichnis zugewiesen bekommen. Da wird nicht nur nichts gelöscht, das wird sogar regelmäßig gebackuped.

            Aber deswegen ja auch nur einmal nächtlich. Wenn das um 4:00 morgens passiert, ist die Gefahr, das das jemenaden irritiert recht gering (Bei internationalem Zugriff sind die User darüber halt zu informieren.)

            Wenn Du alle x Tage, Stunde, Wochen löschst, aber in Abhängigkeit vom Alter! Das empfinde ich jedenfalls als wesentlich berechenbarer.
            Übrigens: Die Aussage, alles was in /tmp ist, ist nicht wichtig kann ich gar nicht verstehen! Wieso existiert das dann überhaupt???

            Relikt aus Zeiten, da Plattenplatz schweineteuer und RAM unbezahlbar war.

            Aber es wird auch heute noch gerne beutzt und zwar für Zwischenstadien, die nur eine kurze Lebenszeit haben. Z.B. die Assemblerdateien des GCC (Der räumt übrigens automatisch hinter sich auf, nur so am Rande ;-).

            so short

            Christoph Zurnieden

  2. Hallo,

    Ist es möglich den Linux-Server so zu konfigurieren, dass er diese Dateien nach einer gewissen Periode löscht und wenn ja, wie? (Ich könnte die Files "tmp" auch umbenennen)

    Du koenntest Dir mal "logrotate" ansehen (ist bei Debian dabei, bei anderen weiss ich nicht). Wird taeglich ueber einen Cronjob gestartet und ist normalerweise dafuer zustaendig, die Dateien under /var/log zu packen, umzubenennen und eine neue Logdatei anzulegen, sowie zu alte Sachen zu loeschen (fuer Dich ist wohl nur der letzte Punkt interessant).

    Gruss
    Thomas