Hallo.
Kennt jemand ein Tool, mit dem ich in dem Mailfolder /var/mail/<login> Mails gezielt löschen kann? Ich will alle Mails löschen, die älter als 1 Jahr sind.
Danke im Voraus,
weedy.
Gezielt mails löschen *gelöst*.
- weedy
- Beiträge: 585
- Registriert: 02.11.2002 21:47:49
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Gezielt mails löschen *gelöst*.
Zuletzt geändert von weedy am 05.09.2004 14:39:04, insgesamt 1-mal geändert.
- godsmacker
- Beiträge: 902
- Registriert: 16.03.2003 21:50:26
- Lizenz eigener Beiträge: Artistic Lizenz
- Wohnort: Chemnitz
-
Kontaktdaten:
- weedy
- Beiträge: 585
- Registriert: 02.11.2002 21:47:49
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Danke für den Tip. Ich hatte mir in der Zwischenzeit ein Script geschrieben:godsmacker hat geschrieben:archivemail kann das sicher denke ich.
Gruss,
Florian
Code: Alles auswählen
#!/usr/bin/python
import re
import time
import datetime
import sys
if 3!=sys.argv.__len__():
print "usage: ", sys.argv[0], " /var/mail/<mailuser> <tmpfile>"
print "schreibt in <tmpfile> alle Mails aus /var/mail/<mailuser>, welche nicht aelter als 1 Jahr sind"
sys.exit()
fVon= open( sys.argv[1])
fBis= open( sys.argv[2], "w");
carry= 0
try:
while 1:
line= fVon.next()
srch= re.search( '^From\s+\S+\s+(.*)', line)
if( srch):
tsDS= time.strptime( srch.group(1).strip()) #DS Datensatz
dDS= datetime.datetime.fromtimestamp( time.mktime( tsDS))
tsNow= time.gmtime()
dNow= datetime.datetime.fromtimestamp( time.mktime( tsNow))
dNow2= dNow.replace( dNow.year- 1)
carry= dDS > dNow2
carry and fBis.write( line)
except StopIteration:
fVon.close()
fBis.close()
weedy.