Ich frage mich, ob es ein Dateisystem gibt, das einer Round-Robin-Datenbank entspricht, die bei einer festen Größe die ältesten Dateien altert. Es ist ziemlich einfach, mit einem einfachen Cron-Job zu implementieren, den ich habe, aber ich gehe davon aus, dass es ein Problem ist, das viele Leute haben, und es gibt vielleicht etwas Besseres. Ich möchte eine Partition oder einen Pool mit fester Größe festlegen, in der ältere Dateien automatisch entfernt oder veraltet werden, wenn der Pool voll ist. Eine Art Umlaufpuffer, der den von der ältesten Datei verbleibenden Speicherplatz für die neuen verwendet und gleichzeitig die Dateiintegrität beibehält.
Meine Cron-Lösung vergleicht die Festplattennutzung mit einem Schwellenwert und entfernt rekursiv die älteste Datei, bis die Festplattennutzung wieder unter dem Schwellenwert liegt. Es ist nicht perfekt, weil man nicht garantieren kann, dass der Schwellenwert niedrig genug ist, um nicht zwischen zwei Cron-Iterationen überholt zu werden. Es maximiert auch nicht die Nutzung des Speicherplatzes aufgrund des Schwellenwerts, der tendenziell prädiktiver Natur ist (wie viel kann ich in einer Minute zwischen zwei Iterationen von crond einfüllen). Zwei Mängel, die ich hoffentlich verbessern kann.
Ich suche nach einer eleganteren Lösung, ähnlich wie die Round-Robin-Datenbank ( http://linux.die.net/man/1/rrdtool ) dies transparent handhabt, jedoch für Dateisysteme.
quelle
tmpfs
ist ein hervorragendes Beispiel für ein Dateisystem, das Informationen definitiv nicht auf belastbare Weise speichert, aber unter bestimmten Umständen aufgrund seiner Funktionsweise sehr nützlich ist. Sie verwenden ein Tool, um einen Bedarf zu decken, und ich kann mir leicht Bedürfnisse vorstellen, denen ein ringgepuffertes Dateisystem gut dienen würde. Ich bin mir keineswegs sicher, dass dies eine schlechte Frage ist, und ich hoffe, dass sie nicht geschlossen wird.Antworten:
Es gibt viele HSM- Systeme ( Hierarchical Storage Management ), die hauptsächlich auf SAN-Systeme ausgerichtet sind. Diese migrieren Dateien von schnelleren Festplatten zu langsameren Festplatten auf Band, wenn ihre letzte Zugriffszeit älter wird. Wenn Sie ein SAN haben, möchten Sie vielleicht eines davon suchen. Die meisten, die ich kenne, sind kommerzielle Lizenzen, wie beispielsweise das von uns verwendete IBM Tivoli HSM. Vielleicht möchten Sie sich aber auch OHSM ansehen .
Wenn Sie nur alte Dateien löschen möchten, löscht ein einfacher Cron-Job wie z. B.
find /data -atime +30 -exec rm {} \;
Dateien, auf die in einer bestimmten Zeit nicht zugegriffen wurde (stellen Sie jedoch sicher, dass das Dateisystem nicht mit dernoatime
Option bereitgestellt ist !). Dies wäre sehr riskant. Es sei denn, Sie hatten ein gutes Online-Backup-System.quelle
Ich kann nur hoffen, dass es kein solches Dateisystem gibt (flüchtige Suchen scheinen nicht viel Interesse zu wecken). Das klingt nach einer Verschwörung für einen schrecklichen Traum ...
Wie auch immer, ich nehme an, die kurze Antwort lautet: Nichts dergleichen existiert.
Und ich hoffe sehr, dass das stimmt :(
Was Ihren Cron betrifft ... wenn Sie sich nur Sorgen über überlappende Cron machen ... Verwenden Sie eine Sperrdatei. Dann ist Ihre einzige Sorge: "Kann meine Anwendung dieses Dateisystem füllen, bevor cron erneut ausgeführt wird?"
quelle