Re: Archiver mails
On Mon, Jun 14, 2021 at 05:08:36PM +0200,
steve <dlist@bluewin.ch> wrote
a message of 12 lines which said:
> > Un petit script Python lancé par cron tous les mois qui renomme les
> > boites par exemple debian/french -> debian/french-2021-06.
>
> Serait-ce possible de le partager ou est-ce secret défense ?
Attaché. À lancer, par exemple, avec :
./backup-mailboxes.py && (find Mail -type f -ctime +90 | xargs gzip --best)
#!/usr/bin/env python3
# $Id: backup-mailboxes.py 5778 2021-06-15 06:10:10Z stephane $
import os
import re
import time
startdir = os.environ['HOME'] + "/Mail"
filter = "-[-0-9]+(\.gz|\.bz2|.Z|)$"
regexp = re.compile(filter)
def display(name):
if not regexp.search(name):
newname = name + \
time.strftime("-%Y-%m", time.localtime(time.time()-\
(14*86400)))
if exists(newname):
print(newname + " already exists, skipping...")
else:
print(name + " -> " + newname)
os.rename (name, newname)
def exists(filename):
try:
values = os.stat(filename)
return 1
except os.error:
return 0
def listsub(dir, action):
try:
names = os.listdir(dir)
except os.error:
print("Can't list", dir)
names = []
for name in names:
fullname = os.path.join(dir, name)
if os.path.isfile(fullname):
action(*(fullname,))
elif os.path.isdir(fullname) and \
not os.path.islink(fullname):
listsub(fullname, action)
if __name__ == '__main__':
listsub(startdir, display)
Reply to: