From 0a65c98322672f2841013d08bdc01a374a3cfaa4 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Thu, 11 Dec 2008 14:30:13 +0000 Subject: check in all my functions git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@375 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede --- zshrc | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 87 insertions(+), 25 deletions(-) (limited to 'zshrc') diff --git a/zshrc b/zshrc index 1bdb510..2a3c9b4 100644 --- a/zshrc +++ b/zshrc @@ -312,26 +312,16 @@ cols() { upgrade-porter-chroots() { cd - for i in `cat ~/.csshrc | grep '^debporterbox' | sed -e 's/^.*=//' | tr ' ' '\n'`; do + for i in $DEBPORTERHOSTS; do mkdir hosts/chroot-$i 2>/dev/null || continue; echo $i; preexec $i; ssh $i -t 'sudo /usr/sbin/upgrade-porter-chroots' - #ssh $i -t 'cd ~/chroot && - # for i in */; do - # echo; - # echo `hostname` $i; - # echo; - # sudo chroot $i apt-get update && - # sudo chroot $i apt-get dist-upgrade -y && - # sudo chroot $i apt-get clean; - # sudo chroot $i apt-get autoremove; - # done'; done } upgrade-debian-hosts() { cd - for i in `cat ~/.csshrc | grep '^deb' | sed -e 's/^.*=//' | tr ' ' '\n'`; do + for i in $DEBHOSTS; do mkdir hosts/$i 2>/dev/null || continue; echo $i; preexec $i; @@ -344,7 +334,7 @@ upgrade-debian-hosts() { } upgrade-systems() { cd - for i in `cat ~/.csshrc | tr ' ' '\n' | grep @`; do + for i in $HOSTS; do mkdir hosts/$i 2>/dev/null || continue; echo $i; preexec $i; @@ -357,19 +347,91 @@ upgrade-systems() { apt-get clean'; done } -upgrade-came() { - cd - for i in $HOSTS; do - mkdir hosts/$i 2>/dev/null || continue; - echo $i; +upgrade-debian-samhain() { + for i in $DEBHOSTS; do + mkdir hosts/$i 2> /dev/null || continue; + echo $i preexec $i; - ssh -l root $i -t 'apt-get update && - if [ -e /usr/bin/apt-get.distrib ]; then - aptitude dist-upgrade; - else - apt-get dist-upgrade; - fi && - apt-get clean'; + ssh $i -t ' + check() { + sudo /usr/sbin/samhain -t check -i -p err -s none -l none -m none + }; + reinit() { + if [ "`check 2>&1 | grep "^CRIT" | wc -l`" != 0 ]; then + echo Updating samhain db... + sudo samhain --foreground -t update + echo done. + fi + } + if [ -x /usr/sbin/samhain ]; then + t="`tempfile`"; + trap "rm -f $t" 0 1 2 5 15; + check > "$t" 2>&1; + if [ "`grep "^CRIT" "$t" | wc -l`" != 0 ]; then + echo "samhain db errors found:"; + sed -e "s/.*path=<\([^>]*\)>, .*/\1/" "$t"; + echo; + echo "Enter 'y' to continue upgrade and update samhaindb for `hostname`"; + read ans; + [ "$ans" = "y" ] || exit; + fi; + fi + sudo apt-get update && + sudo apt-get dist-upgrade && + sudo apt-get clean && + [ -x /usr/sbin/samhain ] && reinit + '; + done +} + +reinit-debian-samhain-one() { + host=$1 + if [ "$host" = "${host%%.debian.org}" ]; then + host="$host.debian.org" + fi + echo $host + preexec $host; + ssh $host -t ' + check() { + sudo /usr/sbin/samhain -t check -i -p err -s none -l none -m none + }; + if [ -x /usr/sbin/samhain ]; then + t="`tempfile`"; + trap "rm -f $t" 0 1 2 5 15; + check > "$t" 2>&1; + if [ "`grep "^CRIT" "$t" | wc -l`" != 0 ]; then + echo "samhain db errors found:"; + sed -e "s/.*path=<\([^>]*\)>, .*/\1/" "$t"; + echo; + echo "Enter 'y' to continue upgrade and update samhaindb for `hostname`"; + read ans; + [ "$ans" = "y" ] || exit; + + echo Updating samhain db... + sudo samhain --foreground -t update + echo done. + fi; + fi + '; +} +reinit-debian-samhain() { + for i in $DEBHOSTS; do + mkdir hosts/$i 2> /dev/null || continue; + reinit-debian-samhain-one $i + done +} + +update-debian-exim() { + for i in $DEBHOSTS; do + mkdir hosts/$i 2> /dev/null || continue; + echo $i + preexec $i; + ssh $i -t ' + [ -d /etc/exim4 ] || exit; + cd /etc/exim4 && + sudo ./Git/bin/update && + sudo env -i /etc/init.d/exim4 reload + '; done } -- cgit v1.2.3