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.

#!/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

Purge des deferred postfix

À crontaber en fonction du volume de mails en transit…

#!/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
 
scripts/exemples/purges.txt · Dernière modification: 2007/04/06 13:28 par lois