Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich habe einen SuSE 7.3 Linux Server mit Sendmail am laufen. Ich suche jetzt ein kleines Programm oder Shellskript, dass in /var/spool/mail alle Mails löscht, die älter als z. B. 30 Tagen sind.

Gibt es sowas bzw. kann mir jemand ein solches Shellskript basteln?

Frank

man find liefert u. a. folgendes Beispiel:

6. To remove all files named a.out or *.o that have not been accessed for a week and that are not mounted using nfs, enter:

find / \( -name a.out -o -name '*.o' \) -atime +7 -exec rm {} \; -o -fstype nfs -prune

Das würde ich für Deinen Fall dann entsprechend umbauen:

find /var/spool/mail -atime +30 -exec rm {} \;

Am besten probierst Du das erstmal in einem Testverzeichnis aus, da ich jetzt selbst keine Möglichkeit habe, meinen Entwurf zu überprüfen.

Mit dem atime +30 müsste er nur die erwischen, die älter sind als 30 Tage.

Das war zumindest der Plan. ;)

Vielleicht habe ich jetzt einen Denkfehler, aber löscht mir das nicht die ganze Datei.

In der Datei befinden sich ja unter umständen viele Mails. Es sollen ja nur die Mails aus der Datei gelöscht werden, die älter als 30 Tage sind.

Das kommt darauf an welches Format für das Abspeichern der Mails verwendet wird. Sendmail verwendet hierfür ,soweit mir bekannt ist, standarmäßig das "mbox" Format.

In diesem Format werden alle Mails in einer einzelnen Datei untereinander abgespeichert. In diesem Fall würde dir das genannte Skript alle Mails löschen.

Als andere Möglichkeit gibt es das "maildir" Format zum speichern der Mails. Hierbei wird für jede Mail eine einzelne Datei erzeugt. QMail verwendet zum Beispiel diese Art der Speicherung ob sendmail es unterstützt weis ich nicht.

Falls Du also "maildir" einsetzen solltest, kannst Du mit dem Skript alle Mails > 30 Tage löschen.

Hoffe geholfen zu haben ...

Mfg

Superuser

Ich empfehle 'archivemail' [1] - ich verwende es, um meine mailinglisten zu archivieren und/oder alte mails darin einfach wegzuwerfen.

Laesst sich auch hervorragend fuer deine Dienste einsetzen ...

HTH

[1] http://archivemail.sourceforge.net/

Dacht ich mir :)

Das ist eines der Programme, die bei mir in der Kategorie 'ichweisnichtwasichohnesietunwuerdeoderwasichgemachthabebisichesentdeckthabe' liegen ... ;)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.