Dateien löschen die älter als 3 Monate sind

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
AlexD
Beiträge: 21
Registriert: 24.07.2019 15:09:31

Dateien löschen die älter als 3 Monate sind

Beitrag von AlexD » 06.08.2019 15:03:45

Ich habe hier ein Script das mittels rsync ein Backup erstellt. Dabei wir auch ein Logfile geschrieben:

exec 1> "/var/log/backup/$(date +%Y_%m_%d) Backup.txt"

Jetzt möchte ich gerne in einem weiteren script, dass in dem Verzeichnis /var/log/backup/ geprüft wird ob es Dateien gibt die älter als 3 Monate sind und wenn ja die älteren Dateien gelöscht werden.

Jemand eine Idee wie ich das bewerkstelligen kann?

DANKE

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von hikaru » 06.08.2019 15:13:08

Löscht alle Dateien in dem Verzeichnis, die seit mehr als 90 Tagen nicht modifiziert wurden:

Code: Alles auswählen

find /var/log/backup/ -mtime +90 -delete
(-delete funktioniert nicht mit Unterverzeichnissen. Hier müsstest du dir mit -exec rm {} helfen.)

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von Lord_Carlos » 06.08.2019 15:16:57

Guck mal hier: https://unix.stackexchange.com/a/205539

find /path/to/directory/ -mindepth 1 -mtime +90 -delete

Hier gibt es auch noch eine nette Diskussion: https://askubuntu.com/a/589224

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

guennid

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von guennid » 06.08.2019 15:18:00

Ich frage mich, warum man sowas will. Ich habe die Löschwürdigkeit einer Datei noch nie von ihrem Alter abhängig gesehen.

Grüße, Günther

AlexD
Beiträge: 21
Registriert: 24.07.2019 15:09:31

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von AlexD » 06.08.2019 16:50:34

hikaru hat geschrieben: ↑ zum Beitrag ↑
06.08.2019 15:13:08
Löscht alle Dateien in dem Verzeichnis, die seit mehr als 90 Tagen nicht modifiziert wurden:

Code: Alles auswählen

find /var/log/backup/ -mtime +90 -delete
Perfekt, DANKE

DeletedUserReAsG

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von DeletedUserReAsG » 06.08.2019 17:00:08

OT:
guennid hat geschrieben: ↑ zum Beitrag ↑
06.08.2019 15:18:00
Ich frage mich, warum man sowas will. Ich habe die Löschwürdigkeit einer Datei noch nie von ihrem Alter abhängig gesehen.
Logfiles, Messwerte, sonstige Histories … gibt einigen Kram, den man nur ’ne bestimmte Zeit lang vorhalten möchte. Wobei ich bei Logfiles auch eher Debianlogrotate hernehmen würde – das wurde für den Job geschrieben.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von MSfree » 06.08.2019 17:13:33

niemand hat geschrieben: ↑ zum Beitrag ↑
06.08.2019 17:00:08
Wobei ich bei Logfiles auch eher Debianlogrotate hernehmen würde – das wurde für den Job geschrieben.
Der OP erzeugt pro rsync eine Logdatei. Um da ältere Dateien zu löschen, ist find... das richtige Tool. Logrotate ist für diesen speziellen Fall ungeeignet.

guennid

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von guennid » 06.08.2019 19:57:47

niemand hat geschrieben:Logfiles, Messwerte, sonstige Histories …
Gut, habe ich spontan nicht dran gedacht. Trotzdem wäre mir ein schlicht nach dem Datum gehendes Löschen zu riskant, um nicht Dateien zu löschen die ich gar nicht gelöscht haben will - auch wenn mir da spontan ebenfalls keine einfiele. Ich sortierte in jedem Fall nach anderen Kriterien als nach Datum.

OK, er will sein script ja lediglich auf /var/log/backup loslassen. Wär mir ebenfalls zuviel Mühe, das zu scripten. Aber jeder wie er mag.:wink:

Grüße, Günther

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von Lord_Carlos » 06.08.2019 20:39:26

guennid hat geschrieben: ↑ zum Beitrag ↑
06.08.2019 19:57:47
Wär mir ebenfalls zuviel Mühe, das zu scripten. Aber jeder wie er mag.:wink:
Wat?
Ist doch schon fertig. Das dauert keine minute.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von hikaru » 07.08.2019 08:58:50

guennid hat geschrieben: ↑ zum Beitrag ↑
06.08.2019 19:57:47
niemand hat geschrieben:Logfiles, Messwerte, sonstige Histories …
Gut, habe ich spontan nicht dran gedacht. Trotzdem wäre mir ein schlicht nach dem Datum gehendes Löschen zu riskant, um nicht Dateien zu löschen die ich gar nicht gelöscht haben will - auch wenn mir da spontan ebenfalls keine einfiele. Ich sortierte in jedem Fall nach anderen Kriterien als nach Datum.
Wie würdest du das denn machen, wenn täglich 50GB Messwerte anfallen, dein Dateisystem aber nur 4TB groß ist und etwa zur Hälfte bereits mit Modelldaten belegt ist, die zur Auswertung der Messwerte nötig sind?

guennid

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von guennid » 07.08.2019 09:20:04

Mal abgesehen davon, dass er nichts von Messwerten, deren Mengen oder Ähnlichem geschrieben hat, habe ich zugegeben, dass ich mir im konkret genannten Anwendungsfall eine Sinnhaftigkeit durchaus vorstellen kann. Der Titel lautet nun mal: „Dateien löschen die älter als 3 Monate sind“. Da ich weder mit Messwerten an sich, ergo auch nichts mit den genannten Mengen zu tun habe, hat mich das Ansinnen befremdet. MIt meinem OT-Beitrag habe ich gewartet, bis du und Lord_Carlos ihm mögliche Lösungen aufgezeigt hatten. Und eingeleitet hatte ich ihn mit „Ich frage mich, warum man sowas will.“ Hätte ich genauer gelesen und zusätzlich gewusst, was ich jetzt weiß, hätte ich gar nichts geschrieben. :wink:

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von hikaru » 07.08.2019 10:44:13

Du schriebst aber auch:
guennid hat geschrieben: ↑ zum Beitrag ↑
06.08.2019 19:57:47
Ich sortierte in jedem Fall nach anderen Kriterien als nach Datum.
Wie sortierst du dann, um alte Daten zu finden (und ggf. zu löschen)?

TomL

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von TomL » 07.08.2019 11:29:36

hikaru hat geschrieben: ↑ zum Beitrag ↑
07.08.2019 10:44:13
Du schriebst aber auch:
guennid hat geschrieben: ↑ zum Beitrag ↑
06.08.2019 19:57:47
Ich sortierte in jedem Fall nach anderen Kriterien als nach Datum.
Wie sortierst du dann, um alte Daten zu finden (und ggf. zu löschen)?
Ich glaube hier fehlt als wesentlicher Punkt zur Beurteilung des Problems der Ursprung von Dateien. Ich vermute mal, dass Günther Dateien mehr oder weniger von Hand und immer irgendwie kreativ erzeugt. Vor dem Hintergrund fragt man sich natürlich zu Recht "nach Datum löschen..?... wie sinnvoll ist das denn?".

Anders siehts imho aber bei regelmäßig maschinell erzeugten Daten aus... deren Ausbreitung man ja irgendwie eindämmen muss. Und da gehts halt imho nur nach Alter der Dateien, also wenn sie aus der zeitlichen Relevanz raus sind. Bei mir werden täglich tausende von maschinell erzeugten Dateien nach Alter der Datei gelöscht.... und zwar ebenfalls maschinell.

guennid

Re: Dateien löschen die älter als 3 Monate sind

Beitrag von guennid » 07.08.2019 11:54:30

TomL hat geschrieben:Ich vermute mal, dass Günther Dateien mehr oder weniger von Hand und immer irgendwie kreativ erzeugt.
So ist das. Automatisiertes Suchen und Löschen mach' ich allenfalls via Dateiendung (Sicherheitskopien irgendwelcher Anwendungen, z.B. meine Pascal-Programme, LO, etc) - wiewohl: Dass was mich da hier so alles (z.B. via logrotate) in Versuchung brachte, unter /var/log und darunter mal automatisiert auszumisten, fand ich dann letztlich anhand der Dateigrößen und -anzahl doch nicht der Mühe wert. Ich bin halt letztlich doch nur so'n Nur-Anwender. :wink:

Grüße, Günther

Antworten