From 43a2869c95e91974c1fed19a836a02521614913b Mon Sep 17 00:00:00 2001 From: Romain Dessort Date: Tue, 8 Jun 2010 14:24:52 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20d'une=20fonction=20is=5Finstalled=20pou?= =?UTF-8?q?r=20remplacer=20le=20dpkg=20-l=20|grep=20^ii=20pr=C3=A9sent=20d?= =?UTF-8?q?ans=20de=20nombreux=20checks.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- evocheck.sh | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/evocheck.sh b/evocheck.sh index 056e8ad..8e47b88 100755 --- a/evocheck.sh +++ b/evocheck.sh @@ -58,6 +58,12 @@ function is_pack_web { test -e /usr/share/scripts/web-add.sh } +function is_installed { + for pkg in $*; do + dpkg -l $pkg 2>/dev/null |grep ^ii >/dev/null || return 1 + done +} + if [ "$IS_TMP_1777" = 1 ]; then ls -ld /tmp | grep drwxrwxrwt > /dev/null || echo 'IS_TMP_1777 FAILED!' fi @@ -159,7 +165,7 @@ fi # Verification du check_mailq dans nrpe.cfg (celui-ci doit avoir l'option "-M postfix" si le MTA est Postfix) if [ "$IS_NRPEPOSTFIX" = 1 ]; then - dpkg -l postfix | grep ^ii >/dev/null && ( grep "^command.*check_mailq -M postfix" /etc/nagios/nrpe.cfg > /dev/null || echo 'IS_NRPEPOSTFIX FAILED!' ) + is_installed postfix && ( grep "^command.*check_mailq -M postfix" /etc/nagios/nrpe.cfg > /dev/null || echo 'IS_NRPEPOSTFIX FAILED!' ) fi if [ "$IS_GRSECPROCS" = 1 ]; then @@ -182,7 +188,7 @@ fi # Verification mytop + Munin si MySQL if [ "$IS_MYSQLUTILS" = 1 ]; then - dpkg -l mysql-server 2>/dev/null | grep ^ii >/dev/null && ( grep mysqladmin /root/.my.cnf >/dev/null && dpkg -l mytop 2> /dev/null | grep ^ii >/dev/null && grep debian-sys-maint /root/.mytop >/dev/null || echo 'IS_MYSQLUTILS FAILED!' ) + is_installed mysql-server && ( grep mysqladmin /root/.my.cnf >/dev/null && is_installed mytop && grep debian-sys-maint /root/.mytop >/dev/null || echo 'IS_MYSQLUTILS FAILED!' ) fi # Verification si le demon mdadm lancé au démarrage (surveillance du raid logiciel) @@ -192,7 +198,7 @@ fi # Verification du LogFormat de AWStats if [ "$IS_AWSTATSLOGFORMAT" = 1 ]; then - dpkg -l apache2.2-common 2>/dev/null |grep ^ii >/dev/null && ( grep -E '^LogFormat=1' /etc/awstats/awstats.conf.local >/dev/null || echo 'IS_AWSTATSLOGFORMAT FAILED!' ) + is_installed apache2.2-common && ( grep -E '^LogFormat=1' /etc/awstats/awstats.conf.local >/dev/null || echo 'IS_AWSTATSLOGFORMAT FAILED!' ) fi # Verification de la présence de la config logrotate pour Munin @@ -218,13 +224,13 @@ fi # Verification de la présence de metche if [ "$IS_METCHE" = 1 ]; then - dpkg -l metche 2>/dev/null |grep ^ii >/dev/null || echo 'IS_METCHE FAILED!' + is_installed metche || echo 'IS_METCHE FAILED!' fi # Verification de l'activation de Squid dans le cas d'un pack mail if [ "$IS_SQUID" = 1 ]; then f=/etc/firewall.rc - is_pack_web && ( dpkg -l squid 2>/dev/null |grep ^ii >/dev/null \ + is_pack_web && ( is_installed squid \ && grep -E "^[^#]*iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner proxy -j ACCEPT" $f >/dev/null \ && grep -E "^[^#]*iptables -t nat -A OUTPUT -p tcp --dport 80 -d `hostname -i` -j ACCEPT" $f >/dev/null \ && grep -E "^[^#]*iptables -t nat -A OUTPUT -p tcp --dport 80 -d 127.0.0.1 -j ACCEPT" $f >/dev/null \ @@ -239,12 +245,12 @@ fi # Verification de la conf log2mail if [ "$IS_LOG2MAILAPACHE" = 1 ]; then - is_pack_web && ( dpkg -l log2mail 2>/dev/null |grep ^ii >/dev/null && grep "^file = /var/log/apache2/error.log" /etc/log2mail/config/default 2>/dev/null >/dev/null || echo 'IS_LOG2MAILAPACHE FAILED!' ) + is_pack_web && ( is_installed log2mail && grep "^file = /var/log/apache2/error.log" /etc/log2mail/config/default 2>/dev/null >/dev/null || echo 'IS_LOG2MAILAPACHE FAILED!' ) fi if [ "$IS_LOG2MAILMYSQL" = 1 ]; then - is_pack_web && ( dpkg -l log2mail 2>/dev/null |grep ^ii >/dev/null && grep "^file = /var/log/syslog" /etc/log2mail/config/default 2>/dev/null >/dev/null || echo 'IS_LOG2MAILMYSQL FAILED!' ) + is_pack_web && ( is_installed log2mail && grep "^file = /var/log/syslog" /etc/log2mail/config/default 2>/dev/null >/dev/null || echo 'IS_LOG2MAILMYSQL FAILED!' ) fi if [ "$IS_LOG2MAILSQUID" = 1 ]; then - is_pack_web && ( dpkg -l log2mail 2>/dev/null |grep ^ii >/dev/null && grep "^file = /var/log/squid/access.log" /etc/log2mail/config/default 2>/dev/null >/dev/null || echo 'IS_LOG2MAILSQUID FAILED!' ) + is_pack_web && ( is_installed log2mail && grep "^file = /var/log/squid/access.log" /etc/log2mail/config/default 2>/dev/null >/dev/null || echo 'IS_LOG2MAILSQUID FAILED!' ) fi