Différences

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

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