Brisanje starih e-mailova
Korisnici naših poslužitelja vrlo često iz neznanja ili nekih drugih razloga ostavljaju staru poštu u svom dolaznom pretincu na poslužitelju. Pretinci za pristiglu poštu nalaze se u /var/mail direktoriju. Na poslužiteljima gdje /var file system nema puno prostora, može doći do njegovog zatrpavanja, a jedan od razloga može biti i korisnička pošta.
Ovo možemo spriječiti na više načina - jedan od njih je konfiguriranje korisničkih mail klijenata da poštu ne ostavljaju na poslužitelju. Ili malo bolja varijanta, da poštu ostavljaju npr. 7 dana i onda brišu - na ovaj način korisnici mogu istu poštu prebaciti na svoje računalo kod kuće i na poslu.
Drugi način je obrazovno djelovanje prema korisnicima - objasniti im da staru poštu trebaju brisati i da nema smisla čuvati npr. novogodišnje čestitke iz 1999-e. Ako već nešto žele i trebaju čuvati treba ih naučiti kako da kreiraju foldere unutar svijih mail klijenata u koje će prebaciti takvu poštu.
Ako ništa od ovoga ne pomaže onda treba primjeniti silu - obrisati korisnicima staru poštu. Naravno, poželjno je prethodno iste obavijestiti da će im se to dogoditi.
Kako bi bilo previše naporno ulaziti u mailboxove korisnika pojedinačno i brisati staru poštu, korisno bi bilo tako nešto automatizirati. Na sreću, dobri ljudi su napravili jedan zgodan programčić koji nam tako nešto omogućava. Programčić se zove mail-expire i postoji njegova verzija u debian paketu.
Prva stvar koju trebamo napraviti je instalirati paket, na već uobičajeni način:
apt-get update
apt-get install mail-expire
Nakon instalacije možemo ga početi koristiti. Kao i svaki drugi program i mail-expire treba prethodno proučiti kako se koristi i to je najbolje napraviti čitanjem man stranica:
man mail-expire
Stranice su relativno kratke, zauzimaju samo dva ekrana, pa to neće predstavljati veliki problem.
Upotrebu programa ćemo prikazati na primjeru. Prvo ćemo u /var/mail direktoriju pronaći korisnika koji ima puno pošte, evo jednoga:
# ls -al /var/mail/jozo
-rw-rw---- 1 jozo mail 16126954 Dec 23 21:19 /var/mail/jozo
Nakon toga ćemo uporabom mail-expire obrisati svu poštu stariju od 30 dana:
# mail-expire --delete 30 /var/mail/jozo
I: Reading and splitting /var/mail/jozo (16126954 bytes)...
I: Analyzing ages (days before expiration): 53(old), 44(old), 39(old), 62(old), 5(new), 0(new),
I: Wrote 4 old entries to /var/mail/jozo.Nov_2006.gz
Deleting /var/mail/jozo... replacing with the new mailbox... done.
Program se koristi na sljedeći način:
mail-expire AGE FILE
Vidimo da je upotrebljena i opcija --delete, njena svrha je brisanje backupa starih poruka koje mail-expire napravi.
Pogledajmo kakva je sad situacija:
# ls -al /var/mail/jozo
-rw-r--r-- 1 root root 6984859 Dec 23 22:38 /var/mail/jozo
Primjetit ćemo još jedan problem - vlasništvo i prava pristupa nad datotekom. To treba popraviti:
# chown jozo:mail /var/mail/jozo
# chmod 660 /var/mail/jozo
Na ovaj način možemo riješiti sve problematične korisnike. Ali ako takvih ima puno, ili se radi o svima, bez iznimke, korisno je napraviti skriptu koja će to sama napraviti.
Evo jedne jedonstavne skripte:
#! /bin/sh
cd /var/mail
for i in *
do
mail-expire --delete 30 $i
chown $i:mail $i
chmod 660 $i
done
Izvršavanjem ove skripte, svim korisnicima će biti obrisana pošta starija od mjesec dana. Naravno, moguće je taj broj dana mijenjati po želji.
Ovo se može iskoristiti i za neke druge stvari, npr. korisnici koji koriste web mail u pravilu zaboravljaju brisati trash foldere. Ponekad to može dovesti i do blokiranja rada web maila za pojedinog korisnika. Ako povremeno izvršimo skriptu koja slijedi, riješit ćemo i taj problem:
#! /bin/sh
for i in `find /home -name INBOX.Trash`
do
rm stari-trash-priv
echo $i > stari-trash-priv
j=`cat stari-trash-priv | cut -d"/" -f3`
ls -al $i
mail-expire --delete 30 $i
chown $j $i
chmod 700 $i
done
Ove skripte možemo izvršavati ručno po potrebi, a možemo i staviti u cron.
mail-expire je prilično koristan u ovakvim situacijama kada imamo korisnike koji nisu uredni sa svojom poštom. S ovakvim čišćenjem rješavaju se mnogi problemi. Svakako je korisno prethodno upozoriti korisnike da se provode ovakva čišćenja, kako bi se izbjegle moguće neugodne situacije.
- Logirajte se za dodavanje komentara
- Inačica za ispis
- PDF version
Komentari
permission
možda bi trebalo malo modificirati skriptu s obzirom na permissione .. mene su poslije zezali permissioni