Jak wyczyścić linuksową skrzynkę pocztową z ogromną liczbą e-maili? [zamknięte]
Ustawiłem kilka zadań cron i wysyłają wynik cron na e-mail. Teraz w ciągu miesięcy zgromadziłem ogromną liczbę e-maili.
Teraz moje pytanie brzmi, Jak mogę usunąć wszystkie te e-maile z mojej skrzynki pocztowej?
8 answers
Możesz po prostu usunąć plik /var/mail/username
, aby usunąć wszystkie wiadomości e-mail dla konkretnego użytkownika. Również wiadomości e-mail, które są wychodzące, ale nie zostały jeszcze wysłane, będą przechowywane w /var/spool/mqueue
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-16 09:38:22
Alternatywny sposób:
mail -N
d *
quit
-N
blokuje początkowe wyświetlanie nagłówków wiadomości podczas czytania poczty lub edycji folderu poczty.d *
Usuń wszystkie wiadomości
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-30 11:31:27
Po prostu użyj:
mail
d 1-15
quit
Który usunie wszystkie wiadomości między numerem 1 a 15. aby usunąć wszystkie, użyj d *
.
Właśnie używałem tego na ubuntu 12.04.4 i działało jak czar.
Na przykład:
eric@dev ~ $ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/eric": 2 messages 2 new
>N 1 Cron Daemon Tue Jul 29 17:43 23/1016 "Cron <eric@ip-10-0-1-51> /usr/bin/php /var/www/sandbox/eric/c"
N 2 Cron Daemon Tue Jul 29 17:44 23/1016 "Cron <eric@ip-10-0-1-51> /usr/bin/php /var/www/sandbox/eric/c"
& d *
& quit
Następnie sprawdź pocztę ponownie:
eric@dev ~ $ mail
No mail for eric
eric@dev ~ $
Denerwuje cię to, że używasz x
lub exit
, aby zakończyć, co wycofuje zmiany podczas tej sesji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-29 21:47:20
Jedna linijka:
echo 'd *' | mail -N
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-25 15:25:00
Zamiast usuwać, myślę, że możemy anulować plik, ponieważ plik zostanie utworzony, jeśli usługa pocztowa jest nadal włączona. Coś takiego jak podążanie wykona zadanie
cat /dev/null >/var/spool/mail/tomlinuxusr
I tak, przepraszam za przebudzenie tego starego wątku, ale czułem, że mogę się przyczynić.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-29 12:27:17
Na UNIX / Linux / Mac OS X można kopiować i nadpisywać pliki, prawda? Więc jak o tym rozwiązaniu:
cp /dev/null /var/mail/root
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-27 22:55:47
Zamiast używać "d", dlaczego nie "p". Nie jestem pewien, czy "p *" zadziała. Nie próbowałem. Można jednak użyć następującego skryptu "
#!/bin/bash
#
MAIL_INDEX=$(printf 'h a\nq\n' | mail | egrep -o '[0-9]* unread' | awk '{print $1}')
markAllRead=
for (( i=1; i<=$MAIL_INDEX; i++ ))
do
markAllRead=$markAllRead"p $i\n"
done
markAllRead=$markAllRead"q\n"
printf "$markAllRead" | mail
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-17 15:05:16
Jeśli używasz cyrus / sasl/imap na swoim serwerze, to jednym z szybkich i wydajnych sposobów na wyczyszczenie wszystkiego w skrzynce pocztowej, która jest starsza niż określona liczba dni, jest użycie polecenia cyrus / imap ipurge. Na przykład, tutaj jest przykład usuwania wszystkiego (bądź ostrożny!!), starsze niż 30 dni od użytkownika vleo. Zauważ, że musisz być zalogowany jako cyrus (administrator poczty imap) użytkownik:
[cyrus@mailserver ~]$ /usr/lib/cyrus-imapd/ipurge -f -d 30 user.vleo
Working on user.vleo...
total messages 4
total bytes 113183
Deleted messages 0
Deleted bytes 0
Remaining messages 4
Remaining bytes 113183
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-11 14:08:37