Différences
Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.
scripts:exemples:purges [2007/01/27 20:05] lois typo + précisions |
scripts:exemples:purges [2007/04/06 13:28] (Version actuelle) lois suivi des conseils de vinc17, pour "grep -v *$", man grep ;) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Scripts de purge ====== | ||
+ | |||
+ | ===== Purge des files d'impression ===== | ||
+ | |||
+ | Ce script tourne sur le serveur d'impression, il est exécuté toutes les 5mn par cron. | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | # adm/vider_lp.sh | ||
+ | # purge des files d'attente imprimantes | ||
+ | # en crontab, toutes les 5mn | ||
+ | # (c) 2006 - Loïs et Smeï - GPL | ||
+ | |||
+ | PRINTERS="LW106 LW171 HP1-S14 HP2-S14" | ||
+ | |||
+ | #echo "vidange des files d'impressions" | ||
+ | |||
+ | for i in $PRINTERS; | ||
+ | do | ||
+ | lpq -P$i | grep -q 'is not ready' || continue | ||
+ | echo "`date +%a-%Y%m%d-%H:%M` : " >> /var/log/vider_lp.log | ||
+ | echo -n "$i était arrêtée - Purge et Relance : " >> /var/log/vider_lp.log | ||
+ | /usr/sbin/reject $i | ||
+ | /usr/bin/disable -c -r "Vidange automatique en cours" $i | ||
+ | lprm -P$i - | ||
+ | /usr/bin/enable $i | ||
+ | /usr/sbin/accept $i | ||
+ | echo "ok" >> /var/log/vider_lp.log | ||
+ | done | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Purge des deferred postfix ===== | ||
+ | |||
+ | À //crontaber// en fonction du volume de mails en transit... | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | # (c) 2005 Smeï & Loïs | ||
+ | # $Id: purge_deferred.sh 46 2007-04-05 11:12:48Z maintenance $ | ||
+ | # Purge les mails de MAILER-DAEMON en deferred, avec un score SpamAssassin | ||
+ | # | ||
+ | TMPFILE=$(mktemp /tmp/purge_deferred.XXXXXXXX) || exit 1 | ||
+ | DEFERDIR=/var/spool/postfix/deferred | ||
+ | |||
+ | test -e /usr/sbin/postqueue && { | ||
+ | echo "=====================================" | ||
+ | echo "Début Purge deferred" | ||
+ | echo | ||
+ | echo "Mail dans la queue avant : " | ||
+ | postqueue -p | tail -1 | ||
+ | |||
+ | # collect the filenames | ||
+ | mailq | grep MAILER-DAEMON | cut -f1 -d ' ' | grep -v *$ > $TMPFILE | ||
+ | # mailq | grep bounces@listes | cut -f1 -d ' ' | grep -v *$ > $TMPFILE | ||
+ | |||
+ | for DEFERFILE in `cat $TMPFILE` | ||
+ | do | ||
+ | FILEPATH=`find $DEFERDIR -name $DEFERFILE` | ||
+ | egrep -i 'X-Spam-Status: Yes' $FILEPATH > /dev/null | ||
+ | if [ $? -eq 0 ] | ||
+ | then | ||
+ | echo -n "." | ||
+ | # deferred message is most likely spam | ||
+ | postsuper -d $DEFERFILE deferred > /dev/null 2>&1 | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | rm -f $TMPFILE > /dev/null | ||
+ | echo | ||
+ | echo "Mail dans la queue après :" | ||
+ | postqueue -p | tail -1 | ||
+ | echo | ||
+ | echo "Fin Purge deferred" | ||
+ | echo "=====================================" | ||
+ | } | ||
+ | exit 0 | ||
+ | </code> | ||
scripts/exemples/purges.txt · Dernière modification: 2007/04/06 13:28 par lois