#!/bin/sh -e # exim-queue-remover/editor/viewer -- easier poking in the exim queue # Copyright : http://www.fsf.org/copyleft/gpl.html # Author : Dan Jacobson -- http://jidanni.org/ # Created On : Tue Jun 25 06:03:53 2002 # Last Modified On: Sun Mar 8 03:51:03 2009 # Update Count : 89 #to install: #cd ~root/bin #ln exim-queue-remover exim-queue-editor exim-queue-viewer #or symbolic link, etc. also link exim-queue-remover to one's personal $HOME case "$*" in --help|-\?) exec cat<&2; exit 33;; esac set -u : ${multiple_messages=n} ${suffix=-D} case $0 in *remover) m=REMOVE c='/usr/sbin/sendmail -Mrm ' suffix=;; *viewer) set -- /var/spool/exim*/input; test $# -eq 1|| { echo $0: too many exims: $@ 1>&2; exit 83;} m=view c=${PAGER:-pager}\ $1/;; *editor) set -- /var/spool/exim*/input; test $# -eq 1|| { echo $0: too many exims: $@ 1>&2; exit 88;} m=edit c=${EDITOR:-editor}\ $1/;; #-Meb: exim3 only, so not using *freezer) m=freeze c='/usr/sbin/sendmail -Mf ' suffix=;; *thawer) m=thaw c='/usr/sbin/sendmail -Mt ' suffix=;; *) echo $0: huh\? 1>&2; exit 66;; esac #should check for set -- $(mailq|awk 'NF>=4 && $3~/^......-......-..$/{ #to see errors print $3;$0="#["++a"] "$0};{print>"/dev/tty"}') test $# -eq 0 && { echo $0: no messages found 1>&2; exit 35;} while read -p "$m which message #[]" message do case "$message" in "")break;; #beats 'select' *[^0-9]*|0)echo $0: $message: invalid choice 1>&2; exit 37;; esac $c${!message}$suffix test $multiple_messages = y||break #mostly just one done case $m in thaw) echo $0: '(remember to runq if online)'; esac # Problem: too easy to enter the minutes from mailq, # thinking it is a choice number.