Craig Jackson wrote:
> 
> I wrote this little script that greps the Exim log for incomplete
> transaction, removes duplicate domains, displays the last 250 with line
> numbers and updates every 15 seconds.
> 
> #!/bin/bash
> 
> while true
> do
>         grep "incomplete transaction" /var/spool/exim/log/mainlog |
> egrep -o "<.*>" | sed "s/[<>]//g" | nl > incomplete_transaction
>         sort -u -t @ -k 2 incomplete_transaction > file
>         sort -n -k 1 file > incomplete_transaction
>         tail -n 250 incomplete_transaction
>         sleep 15
> done
> 
> Hope that might help somebody. If you see an improvement please comment.

Not tested, but you should be able to do all that with a single pipeline 
to avoid those temporary files:

while true
do
     grep "incomplete transaction" /var/spool/exim/log/mainlog | \
         egrep -o "<.*>" | sed "s/[<>]//g" | nl | \
         sort -u -t @ -k 2 | \
         sort -n -k 1 | \
         tail -n 250
         sleep 15
done

If that doesn't work, you really should use tempfile to avoid 
overwriting things in the current directory accidentally.

- Marc

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to