Skip to content

Instantly share code, notes, and snippets.

@tobiasvl
Last active August 29, 2015 13:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tobiasvl/10647189 to your computer and use it in GitHub Desktop.
Save tobiasvl/10647189 to your computer and use it in GitHub Desktop.
Hendige kommandoer for postmestre på UiO (som bruker stacken RHEL5 på ServiceGuard, Cyrus IMAP, Exim og Sympa)

Jukselapp for Postmaster ved UiO

Hvem har ukevakt?

alias vakt='svn up ~/src/postmaster-core/dok/vakt/vaktliste/; grep "^ *`date +'%V'`" ~/kode/postmaster-core/dok/vakt/vaktliste/index.rst'

E-post borte

  • Har du ID? grep etter den på $MX (Accepted, Rejected)
  • Sjekk mail-jess
  • Kanskje den er frosset på en MX? Store-helvete

Send på nytt

ssh mail-jess
cd /usit/mail-jess/shadow/brukere/inn

Finn start på melding:

egrep -i -n '^MAIL FROM:<tobiasvl@ifi.uio.no' 2010-06-21/tvl

Finn slutt på melding (nærmeste terminerende .):

egrep -n '^\.$' 2010-06-21/tvl

$DIFFERANSE er differansen mellom start og slutt. Hent ut hele meldingen:

egrep -A $DIFFERANSE '^MAIL FROM:<tobiasvl@usit.uio.no' 2010-06-21/tvl > /tmp/tvl
root@mail-imapX.uio.no /# pkg imap-sgXX
root@mail-imapX.uio.no /# su cyrus -c "cyr_expire -E 1"
mail-jess inn# exim -bS < /tmp/tvl

Sjekk at den ble sendt:

mail-jess inn# egrep -i "message-id" /tmp/tvl
root@mail-imapx.uio.no /# grep $MELDINGS-ID /var/log/cyrus

Du må muligens skru av duplikatsjekken til Cyrus:

mkdir /uio/imap-sgXX/config/var/imap/allowduplicates && touch /uio/imap-sgXX/config/var/imap/allowduplicates/user.tvl

spam/phishing:

Hvor mange har mottatt meldingen? Hvor mange har svart? Husk å også sjekke hvor mange som har svart til reply-to.

for i in $MX ; do ssh $i "egrep 'Accepted RCPT.*> <tobias.langhoff@usit.uio.no>' /var/log/exim/mainlog.201006??"; done | wc -l
for i in $MX ; do ssh $i "egrep 'Accepted RCPT.*F=<tobias.langhoff@usit.uio.no> <' /var/log/exim/mainlog.2010060{3,4,5,6,7}"; done | wc -l}

Blokker og dist Exim-konfigurasjon:

for i in $MX mail-mxtest; do echo $i; ssh $i /local/etc/config/hourly.d/mail-config; sleep 1; done
imap-sgXX: uio/imap-sgXX/spool/user/BRUKERNAVN/
dsmc q b -optfile=/etc/imap-sgXX/dsm.opt -replace=no -subdir=yes -pitd=06/10/2010 "/uio/imap-sgXX/spool/user/BRUKERNAVN/"
 ser det ok ut? er alt der?
dsmc restore -optfile=/etc/imap-sgXX/dsm.opt -replace=no -subdir=yes -pitd=06/10/2010 "/uio/imap-sgXX/spool/user/BRUKERNAVN/*"
recon BRUKERNAVN

Sympa

Restart Sympa (ssh lister-{prod,test})

su sympa -c "/uio/lister-XXXX/sympa/init.d/sympa restart"
PAKKE=lister-XXXX /local/etc/init.d/httpd start

Databaseoperasjoner

Manuell endring av primæradresse:

SELECT user_subscriber AS "E-post", (list_subscriber||'@')||robot_subscriber AS "Liste" FROM subscriber_table WHERE user_subscriber = 'tobias.langhoff@usit.uio.no';
SELECT user_subscriber,list_subscriber,robot_subscriber FROM subscriber_table WHERE user_subscriber like 'tobiasvl%';
SELECT user_admin,list_admin,robot_admin FROM admin_table WHERE user_admin like 'tobiasvl%';
UPDATE subscriber_table SET user_subscriber = 'tobias.langhoff@usit.uio.no' WHERE user_subscriber = 'tvl@usit.uio.no';
UPDATE admin_table SET user_admin = 'tobias.langhoff@usit.uio.no' WHERE user_admin = 'tvl@usit.uio.no';

Alt som er involvert i gruppesync

/uio/lister-prod/expl/sync/groups/
~/kode/cvs/gt/postmaster/mail_config/sympa/sympa/sync/grupper.txt
/site/bin/sympa-fetch-ng.pl

Sympa kræsjer med enkodingsfeil:

egrep -i '^subject:' * | grep Q | egrep -vi '(iso|utf)'
ps aux|grep sympa | grep '.pl' ; ls -1 /uio/lister-prod/sympa/spool/distribute/ | wc -l
  1. grep etter main::DoFile() Processing rundt tidspunktet den kræsjer
  2. flytt fila ut fra /uio/lister-prod/sympa/spool/distribute/
  3. restart
  4. fiks fila, flytt tilbake

Misc

find /uio/lister-prod/sympa/uio/lister -maxdepth 2 -type d -name "*listenavn*"

/uio/lister-prod/sympa/bin/etc
/uio/lister-prod/expl/expl/usit.uio.no/tvl-test/mail_tt2

find /uio/lister-prod/expl/expl/ -type f -name 'config' -exec egrep -H '^status pending' {} \;

Frys all e-post som ikke er i phishingfilteret i kø på en MX:

for i in $(/site/bin/exispool.py -z -L); do if ! /local/opt/exim-server/exim -Mvh $i | grep -q X-UiO-Phishing; then echo $i; fi; done                                                        

ServiceGuard

itune2fs -l /dev/imap34/spool
movepkg -n mail-imap3 imap-sg11
cat /etc/usit/mail-config.frozen
ps -ef | grep cyrus
rm /etc/usit/mail-config.frozen
/local/etc/config/hourly.d/mail-config
vim /local/store/localhost/.cyrus-imapd/registration.local
vim /local/store/localhost/.cyrus-imapd/registration
storeapp -i cyrus-imapd
storeapp -u cyrus-imapd
storeapp -i db4
storeapp -q installed | grep db4
movepkg -n mail-imap6 imap-sg13
less /usr/local/cmcluster/conf/imap-sg13/imap-sg13.cntl.log
watch -n 2 cmviewcl
cmviewcl
tail /var/log/cyrus
grep -i error /var/log/cyrus
./check_serviceguard --verbose | sort |grep "is running"
for imap in {1,2,3,4,5,6}; do for cat in {spool,exim,config}; do tune2fs -l /dev/imap0$imap/$cat | egrep '^(Mount count|Next check|Maximum mount count)'; done; done

Misc

/local/opt/usit-nagios-plugins

service uioexim status

ldapsearch -x -H "ldap://ldap.uio.no/" -b "cn=targets,cn=mail,dc=uio,dc=no" mail=tobias.langhoff@usit.uio.no

/uio/imap-sgXX/config/sieve

for i in $MX ; do ssh $i "egrep 'rejected RCPT <tobias.langhoff@' /var/log/exim/mainlog.201006??"; done

Om du trenger å teste TLS mot mail-mxtest kan det gjøres ved å endre på tls_advertise_hosts i exim.conf direkte på maskinen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment