/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Mail loop
Fra : Ivar Madsen


Dato : 26-03-03 06:49

Jeg havde overset at jeg i mit home dit har en .procmailrc der sender
mail til min mobil på mobilnr@note.sonofon.dk, nu har Sonofon lukket
servicen ned, og postfix kan ikke slå note.sonofon.dk op, så efter 1n
time (har jeg sat postfix til) sender den en bronch om at mailen ikke
har kunnet afleveres, denne sender procmail så til mobilen, som så
ikke kan komme afsted, så efter en time, så gentager loop'et sig også
med den nye mail, osv osv, så nu er disken løbet fund (de ~1000 mail
jeg har kikket på, fylder omkring 20 - 30 KB stykket).

Jeg har prøvet at kikke i man postfix for at se om der står noget om
hvordan man sletter mailkøen, man fandt ikke noget.

Jeg har prøvet at slette den fil mail til aflevering til brugeren på
systemmet, men den gendannes hurtigt igen.

Findes der en komando til at slette mailkø'en, eller hvor finder jeg
udaf hvilken fil jeg skal slette, for at få slettet alle mail?

I skrivende stund, fundere jeg over, måske man kunne fortælle postfix
at den har sin spool i /dev/null?
Og at den ikke skal bonche mail den ikke kan komme af med?
Eller måske procmail at den skal sende mail til denne bruger til
/dev/null, og så lade postfix selv komme igennem alle mailene,,,
Derved vil den jo selv tømme sin mailkø, uden skade på systemmet (det
er jeg lidt bekømeret for at jeg kommer til, hvis jeg sletter en
forkert fil,,,) og disken vil ikke løbe fuld, da procmail vil slette
mail lige så hurtigt som postfix genere den,,,

--
Med venlig hilsen

Ivar Madsen

 
 
Klaus Alexander Seis~ (26-03-2003)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 26-03-03 07:41

Ivar Madsen skrev:

> Jeg har prøvet at kikke i man postfix for at se om der står
> noget om hvordan man sletter mailkøen, man fandt ikke noget.

Hvis du kører Postfix 2, kan du anvende postsuper-kommandoen:

#v+

-d queue_id
   Delete one message with the named queue ID from the named mail
   queue(s) (default: hold, incoming, active and deferred). If a
   queue_id of - is specified, the program reads queue IDs from
   standard input. For example, to delete all mail from or to
   user@example.com:
   
   mailq | tail +2 | awk ´BEGIN { RS = "" } \
    / user@example\.com$/ { print $1 } \
   ´ | tr -d '*!' | postsuper -d -
   
   Specify -d ALL to remove all messages; for example, specify -d
   ALL deferred to delete mail in the deferred queue. As a safety
   measure, the word ALL must be specified in upper case.

#v-

Hvis du bruger Postfix 1, må du i gang med at slette dem manuelt, fx på
følgende måde (utestet):

#v+

   for ID in \
   $(mailq | tail +2 | awk ´BEGIN { RS = "" } \
    / user@example\.com$/ { print $1 } \
   ´ | tr -d '*!')
   do
    find /var/spool/postfix -type f -name "${ID}" -print0 \
    | xargs -0 rm -vi
   done

#v-

I ovenstående eksempler erstattes user@example.com så af mailadressen
til SMS-servicen.

(Og så vil det nok være en god idé at justere procmail-scriptet, så
det ikke længere sender meddelelser ad den vej.)


// Klaus

--
><>    unselfish actions pay back better

Ivar Madsen (26-03-2003)
Kommentar
Fra : Ivar Madsen


Dato : 26-03-03 18:23

Klaus Alexander Seistrup skrev Onsdag den 26. marts 2003 07:41 i
dk.edb.system.unix:

mailq | tail +2 | awk ´BEGIN { RS = "" } \
/ user@example\.com$/ { print $1 } \
´ | tr -d '*!' | postsuper -d ALL


Der røg lige 19.257 mail der, takker,,,

--
Med venlig hilsen

Ivar Madsen

Klaus Alexander Seis~ (27-03-2003)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 27-03-03 09:52

Ivar Madsen skrev:

> mailq | tail +2 | awk ´BEGIN { RS = "" } \
> / user@example\.com$/ { print $1 } \
> ´ | tr -d '*!' | postsuper -d ALL

Du kunne have nøjedes med "postsuper -D ALL" når du nu alligevel
ville slette rub og stub.

> Der røg lige 19.257 mail der

Det var ellers ikke så lidt.


// Klaus

--
><>    unselfish actions pay back better

Ivar Madsen (27-03-2003)
Kommentar
Fra : Ivar Madsen


Dato : 27-03-03 19:05

Klaus Alexander Seistrup skrev Torsdag den 27. marts 2003 09:52 i
dk.edb.system.unix:

>> mailq | tail +2 | awk ´BEGIN { RS = "" } \
>> / user@example\.com$/ { print $1 } \
>> ´ | tr -d '*!' | postsuper -d ALL
> Du kunne have nøjedes med "postsuper -D ALL" når du nu alligevel
> ville slette rub og stub.

OK, men noget fik jeg udaf at tage det hele med, jeg var usikker på om
det skulle stå i en fil, som så skulle have sat exekverbar mærket, og
køres, eller hvad, så jeg forsøgte med at taste ind i komandopromten,
og fandt udaf at den forstår \ tegnet som at den skal se bort fra
<enter tasten> i komandopromten også

Hvad har den gjort nu, slettet alt til "user@example.com" eller alt
mail på serveren?
Postfix på den maskine laver to ting
1. giver meddelse fra systemmet til root brugeren
2. Testkørsel på at udsende de automatiske mail, omtalt i anden tråd.
Så det var bare at tage alt med, velvidene at jeg har kunnet komme til
at slette intersant info fra systemmet, som f.eks. hvorfor netværket
gik ned forleden, men på den anden side at lede efter en mail blandt
så mange, tja,,,

>> Der røg lige 19.257 mail der
> Det var ellers ikke så lidt.

Det er jo ikke bare et mail-loop, men et løbsk loop, hver loop giver en
mail mere, som så også looper, som så også looper osv. Dog med en
times mellem rum mellem hver loop,,,

--
Med venlig hilsen

Ivar Madsen

Ivar Madsen (27-03-2003)
Kommentar
Fra : Ivar Madsen


Dato : 27-03-03 19:18

Ivar Madsen skrev Torsdag den 27. marts 2003 19:04 i
dk.edb.system.unix:

> Hvad har den gjort nu, slettet alt til "user@example.com" eller alt
> mail på serveren?

fra man postsuper

| -d queue_id
| Delete one message with the named queue ID from the named mail
| queue(s) (default: hold, incoming, active and deferred). If a
| queue_id of - is specified, the program reads queue IDs from
| standard input. For example, to delete all mail from or to
| user@example.com:

| mailq | tail +2 | awk 'BEGIN { RS = "" } \
| / user@example\.com$/ { print $1 } \
| ' | tr -d '*!' | postsuper -d -

| Specify -d ALL to remove all messages; for example, specify -d
| ALL deferred to delete mail in the deferred queue. As a safety
| measure, the word ALL must be specified in upper case.

Så -ALL betyder alt mail på serveren,,,

--
Med venlig hilsen

Ivar Madsen

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste