X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=.procmailrc;h=30bac2f818c6dc9f8606381c52e073d72c84c9f7;hb=5e5951b021933009259c3c1e092d70f04f1c51f3;hp=d4352fd99567763829cb9fddf6617b5774098e33;hpb=a506d6d267da6a6b5527151e83eab139562f66d9;p=config-20-100.git diff --git a/.procmailrc b/.procmailrc index d4352fd..30bac2f 100644 --- a/.procmailrc +++ b/.procmailrc @@ -17,7 +17,7 @@ # Ce fichier est mis à votre disposition par des cranseux sans aucune garantie. # Nous sommes un certain nombre à l'utiliser nous-mêmes, souvent dans une version # légèrement modifiée. -# * Nous ne sommes pas responsable si vous perdez des mails ou si ils sont mal triés. +# * Nous ne sommes pas responsables si vous perdez des mails ou si ils sont mal triés. # * Pensez à copier également les autres fichiers si vous utilisez les include. # * Vous pouvez rester à jour en trackant le dépôt git : http://git.crans.org/git/fichiers_configuration.git # (on corrige des trucs et on rajoute parfois des nouveaux/meilleurs tris) @@ -34,7 +34,7 @@ # (pour l'instant commentés par #~#) # Ils doivent être tous les trois dans ${CONFIGDIR} # * Le premier, custom.high.rules contient des règles qui overrident tout -#  le comportement ce .procmailrc,pour des mails qui doivent être classés +#  le comportement ce .procmailrc, pour des mails qui doivent être classés # sans autre condition. # * Le deuxème, custom.normal.rules doit contenir la plupart de vos règles # personnelles, il est géré après les mails envoyés par le Cr@ns mais avant @@ -43,6 +43,12 @@ # * Le troisième, custom.final.rules est appliqué tout à la fin, il peut par # exemple servir à définir un dossier par défaut autre que .INBOX +# Attention, certaines règles (pour l'instant commentées par #~#) +# font appel à des scripts. +# Pour qu'elles fonctionnent correctement, il faut que vous +# possédiez les scripts correspondant et que vous adaptiez +# la partie "Scripting" des variables de configuration. +# (cf https://wiki.crans.org/VieCrans/FichiersConfiguration#scripting) ################################################################################ @@ -123,7 +129,7 @@ # | | # | |-[+] Nagios (Comme Monit, mais en mieux/moins bien/différent) # | | | -# | | |- +# | | |- # | | # | |-[+B] Stats-upload (Qui a uplodé ?) # | @@ -148,6 +154,8 @@ # | | | |- # | | | # | | |-[+] gest_crans (Rapports de bugs envoyés lors d'un crash de gest_crans) +# | | | +# | | |-[$] printer_watch (L'imprimante a bourré/n'a plus d'encre) # | | # | |-[*+] 3-Argh (Il faut vite faire quelque chose !) # | | | @@ -225,10 +233,9 @@ ################################################################# ## Variables d'environnement ## ################################################################# +### Paths # Path du dossier où sont rangés les mails MAILDIR="${HOME}/Mail" -# Shell à utiliser pour exécuter des commandes -SHELL="/bin/bash" # Dossier contenant tout le garbage procmail-related # (le .procmailrc lui-même est dans le home) PROCMAILDIR="${HOME}/.procmail" @@ -238,6 +245,16 @@ CONFIGDIR="${PROCMAILDIR}/rc" LOGFILE="${PROCMAILDIR}/logs/procmail.log" +### Scripting +# Shell à utiliser pour exécuter des commandes +SHELL="/bin/bash" +## Scripts +# Dossier où sont rangés les scripts +SCRIPTSFOLDER="${HOME}/scripts/crans_toolbox/" +# Scripts pour décoder les headers MIME +DECODEHEADERSCRIPT="${SCRIPTSFOLDER}decode_header.pl" + + ################################################################# ## Noms de dossiers ## ################################################################# @@ -295,6 +312,7 @@ MONITORINGDIR="${CRANSDIR}.Monitoring" MONITDIR="${MONITORINGDIR}.Monit" NAGIOSDIR="${MONITORINGDIR}.Nagios" NAGIOSSWITCHSDIR="${NAGIOSDIR}.0-switchs" +NAGIOSBORNESDIR="${NAGIOSDIR}.1-bornes" ARPWATCHDIR="${MONITORINGDIR}.Arpwatch" MUNINDIR="${MONITORINGDIR}.Munin" MUNINIMPRESSIONDIR="${MUNINDIR}.Imprimante" @@ -318,6 +336,7 @@ INTRANET2DIR="${SOFTDIR}.Intranet2" INTRANET1DIR="${SOFTDIR}.intranet-bugreport" CRONDIR="${WILDDIR}.cron" GESTCRANSDIR="${WILDDIR}.gest_crans" +PRINTERWATCHDIR="${WILDDIR}.printer_watch" NOLSDIR="${ARGHDIR}.nols" PULSARDIR="${ARGHDIR}.pulsar" MAILMANDIR="${HUMANPROBLEMSDIR}.Mailman" @@ -453,14 +472,19 @@ FEDEREZOVHDIR="${FEDEREZADMINDIR}.OVH" :0 * ^(From: nagios@crans\.org|User-Agent:.*nagios) { - # Tous les switchs vont dans le dossier ${NAGIOSSWITCH} + # Tous les switchs vont dans le dossier ${NAGIOSSWITCHSDIR} :0 - * ^Subject:.*Alert: bat[^/]+- + * ^Subject:.*[A-Z]+ - (bat[a-z]-[0-9]+|backbone|minigiga)\. ${NAGIOSSWITCHSDIR}/ + # Toutes les bornes vont dans le dossier ${NAGIOSBORNESDIR} + :0 + * ^Subject:.* [A-Z]+ - [a-z0-9](-*[a-z0-9]+)*\.wifi\.crans\.org + ${NAGIOSBORNESDIR}/ + # Chaque serveur a son dossier :0 - * ^Subject:.*Alert: \/[^/\.]+ + * ^Subject:.* [A-Z]+ - \/[a-z0-9](-*[a-z0-9]+)* ${NAGIOSDIR}.${MATCH}/ # Si l'envie prenait à Nagios de raconter un peu plus sa vie @@ -511,7 +535,7 @@ FEDEREZOVHDIR="${FEDEREZADMINDIR}.OVH" # On matche tous les alias de root@crans.org :0 -* ^(To|Cc): .*(root|abuse|amavis|backup|bind|bin|clamav|daemon|ftpadm|ftpmaster|ftp-mirror|ftp|games|gnats|irc|list|logcheck|lp|mail|majordom|man|msql|munin|news|operator|postgres|proxy|sync|sys|usenet|uucp|webmaster|www-clubs|www-data|www-perso|postmaster|mailer-daemon)@(crans\.org|crans\.ens-cachan\.fr) +* ^(To|Cc):.* (root|abuse|amavis|backup|bind|bin|clamav|daemon|ftpadm|ftpmaster|ftp-mirror|ftp|games|gnats|irc|list|logcheck|lp|mail|majordom|man|msql|munin|news|operator|postgres|proxy|sync|sys|usenet|uucp|webmaster|www-clubs|www-data|www-perso|postmaster|mailer-daemon)@(crans\.org|crans\.ens-cachan\.fr) { # Spam de logcheck :0 @@ -655,7 +679,7 @@ FEDEREZOVHDIR="${FEDEREZADMINDIR}.OVH" # Messages sur la Freebox :0 - * ^From: telephonie.freebox@freetelecom.fr + * ^From: telephonie\.freebox@(mevo\.)?freetelecom\.fr ${FREEBOXDIR}/ # Serveurs non synchronisés avec bcfg2 @@ -681,7 +705,7 @@ FEDEREZOVHDIR="${FEDEREZADMINDIR}.OVH" { # Statistiques d'upload :0 - * ^X-Mailer: /usr/scripts/surveillance/statistiques.py + * ^X-Mailer: /usr/scripts/surveillance/statistiques2.py ${STATUPLOADDIR}/ :0 @@ -712,17 +736,30 @@ ${CABLAGEDIR}/ :0 * ^From: munin@crans\.org ${MUNINIMPRESSIONDIR}/ + + # L'imprimante fait des siennes + :0 + * ^X-Mailer: /usr/scripts/impression/printer_watch.py + ${PRINTERWATCHDIR}/ } + # Sur la ML respbats@ -:0 -* ^List-Id:.*respbats\.lists\.crans\.org -{ - # Machines supprimées pour chambre invalide - :0 - * ^X-Mailer: /usr/scripts/gestion/chambres_vides.py - ${DELETEDMACHINES}/ -} +#~# # L'ancienne version de ce filtre ne fonctionne plus car les headers +#~# # de ces mails sont maintenant correctement encodé. +#~# # C'est bien pour le respect des RFC, mais c'est un peu pain in the ass +#~# # p our le trier avec procmail, donc on besoin d'un script +#~# # Ne pas décommenter si vous n'avez pas le script associé. +#~# # (cf https://wiki.crans.org/VieCrans/FichiersConfiguration#scripting) +#~# :0 +#~# * ^List-Id:.*respbats\.lists\.crans\.org +#~# * ^X-Mailer:\/.* +#~# { +#~# # Machines supprimées pour chambre invalide +#~# :0 +#~# * ? echo "${MATCH}" | ${DECODEHEADERSCRIPT} | grep /usr/scripts/gestion/chambres_vides.py +#~# ${DELETEDMACHINES}/ +#~# } ################################################################# @@ -858,7 +895,7 @@ ${CABLAGEDIR}/ # MLs Med :0 - * ? echo "${ML}" | grep med + * ? echo "${ML}" | grep -E "^med" ${MLMEDDIR}.${ML_}/ # MLs SDA @@ -953,9 +990,13 @@ ${CABLAGEDIR}/ ## Gestion des autres mailing-listes ## ################################################################# # On récupère le nom de domaine et le nom de la ML + # Le nom de domaine, c'est le mot (sans .) qui précède le TLD DOMAIN=`echo "${ML}" | sed 's/.*\.\([^\.]\+\)\.[^\.]\+$/\1/'` # On ne sait jamais ce qu'on peut rencontrer… DOMAIN_=`echo "${DOMAIN}" | sed 's/ /_/g'` + # On vire le domain et le TLD + # On vire .list ou .lists si c'est la composante la plus à droite + # du subdomain # On prend garde à ne pas créer un sous-dossier # si jamais le List-Id contient un . ou un espace ML_=`echo "${ML}" | sed 's/\.[^\.]\+\.[^\.]\+$//;s/\.lists\?$//;s/\(\.\| \)/_/g'`