zion - faxrunqd
Nom
faxrunqd - démon pour envoyer les fax qui ont été créés avec faxspool(1)
Résumé
faxrunqd [-v] [-d] [-l <ttys>] [-u <user>] [-V]
Description
est exécuté en arrière plan, et vérifie régulièrement la file d'attente de fax créée avec faxspool(1). Envoie toutes les tâches en cours, enregistre les résultats, et fait les actions appropriées pour chaque envoi (notification par mails etc.). faxrunqd fait, de base, les mêmes choses que faxrunq(1), mais a plus d'options. Veuillez lire la page de manuel de faxrunq(1) si vous n'êtes pas déjà au courant du concept. Les avantages de faxrunqd sont : - travaille tout le temps, ainsi vous n'avez pas besoin de mettre une ligne dans cron (mais vous devez faire une entrée dans /etc/inittab ou le démarrer à partir de /etc/rc*) - une réponse plus rapide aux nouveaux fax dans la file d'attente - peut gérer plus d'un modem - peut gérer la priorité d'envoi de chaque fax - peut gérer la 'politique de cheminement' des fax selon le numéro de fax Les inconvénients sont : - a besoin de plus de ressources système si vous avez seulement peu de trafic de fax - exige Perl 5.004 - plus difficile à installer et à mettre au point
Démarrage
faxrunqd est démarré à l'initialisation de système à partir de /etc/rc.*, ou à partir de /etc/inittab. Vous pouvez aussi le démarrer à partir d'une ligne de commande. Il ne se met pas en tache de fond. Pour cela, vous devez le démarrer avec un "&", ou avec une ligne comportant un ":respawn:" dans /etc/inittab. Utiliser /etc/inittab a l'avantage que faxrunqd est redémarré automatiquement si quelque chose ne se passe pas bien et que faxrunqd est arrêté. faxrunqd lira en premier le fichier de configuration (voir ci-dessous), puis (facultativement) le fichier de ligne de conduite de faxrunqd (voyez plus loin ci-dessous). Après cela, il tournera en boucle. Il examinera la file d'attente des fax toutes les 60 secondes pour repérer les nouveaux travaux, et les distribuera alors à chaque modem disponible. Si le travail est envoyé, ou échoue, il fera la même chose que faxrunq(1) (envoyer un courrier, supprimer le fax du répertoire, exécuter un programme appelé, etc.). Les deux programmes sont entièrement identiques à cet égard. faxrunqd [-v] [-d] [-l <ttys>] [-u <user>] [-V]
Options
-v
Demande à faxrunqd d'écrire les informations de progression dans le fichier de log. |
-d
Demande à faxrunqd d'écrire les informations de dépannage sur la sortie standard (stdout) et dans le fichier de log (habituellement utilisé avec -v) |
-l <ttyS>
Indique la liste des modems à utiliser. Plusieurs modems sont séparés avec ':', par exemple '-l ttyS0:ttyS1'. |
-u <user> faxrunqd
peut maintenant (depuis la version 1.1.29) s'exécuter avec un utilisateur non privilégié. Si vous l'exécutez avec root à partir de /etc/inittab ou à partir d'un des programmes de /etc/rc*, il est vivement recommandé d'utiliser '- u fax' (pour être précis : l'utilisateur qui possède les droits sur le répertoire des fax à envoyer). Ceci fera que faxrunqd abandonne tous ses privilèges au démarrage, et s'exécute avec l'utilisateur indiqué. Exécuter faxrunqd avec l'utilisateur root pourrait engendrer des problèmes de sécurité - ne faites pas cela. |
-V
imprime le numéro de version et sort |
Fichier de configuration
Quelques aspects du comportement de faxrunqd peuvent être commandés par un fichier de configuration, habituellement appelé /etc/mgetty+sendfax/faxrunq.config (C'est le même fichier qui est utilisé par faxrunq(1), mais il y a des options supplémentaires pour faxrunqd). Dans ce fichier, vous pouvez configurer les options suivantes :
success-send-mail [y/n]
Un paramètre booléen qui commande si un courrier sera envoyé après l'envoi réussi du fax. |
failure-send-mail [y/n]
Un paramètre booléen qui commande si un courrier sera envoyé après que l'envoi du fax ait échoué après le nombre maximum d'essai d'envoi. |
success-call-program <name>
Ici, vous pouvez indiquer un programme qui sera exécuté quand le fax a été envoyé avec succès. Il y a deux paramètres passés à cette commande. Le premier est le chemin complet du fichier du fax (voir faxq(5)), le second est le dernier code de sortie de sendfax (pour success-call-program, c'est toujours "0"). |
failure-call-program <nom>
Similaire à "success-call-program", ce programme sera exécuté quand l'envoi du fax a échoué trop souvent et faxrunqd abandonne. Ce programme pourrait, par exemple, imprimer le fax sur une imprimante de sorte qu'il puisse être envoyé manuellement sur un télécopieur. |
update-call-program <nom>
C'est, encore, similaire à "success-call-program". Ce programme sera appelé pour les mises à jour des états intermédiaires ("nous avons essayé et il était OCCUPÉ"), de sorte que le programme puisse montrer cette information. "update-call-program" pourra seulement être appelé pour le fax qui sera seulement gardé dans la file d'attente des fax pour un essai supplémentaire. |
maxfail-costly <n>
Ceci indique le nombre de fois qu'un fax peut échouer "fatalement", c'est-à-dire, entraînant des coûts de téléphone (expliqués ci-dessus). La valeur par défaut est 5. |
maxfail-total <m>
C'est le nombre maximum absolu de fois que faxrunqd essayera d'envoyer tout fax donné. La valeur par défaut est 10. |
delete-sent-jobs [y/n]
Détermine si faxrunqd devra supprimer les tâches après envoi, ou les laisser dans la file d'attente des fax (tout en renommant le fichier "JOB" en "JOB.done") de sorte qu'elles puissent être vues avec "faxq - o". La valeur par défaut est "ne pas supprimer les fax envoyés". |
acct-log <chemin>
Indique dans quel fichier faxrunqd devra mettre le texte de succès et d'échec de chaque essai d'envoi de fax. L'endroit par défaut est /var/spool/fax/outgoing/acct.log. |
Les options spécifiques à faxrunqd sont :
fax-devices [tty(s)]
Spécifie quel tty sera utilisé pour envoyer les fax. faxrunqd indiquera toujours explicitement à sendfax quel modem utiliser, ainsi les options de configuration dans sendfax.config sont ignorées. Si vous employez la politique de cheminement (voir ci-dessous), ceci s'applique seulement aux travaux de fax qui n'ont pas une configuration du tty dans faxrunqd.policy. |
faxrunqd-log [filename]
Spécifie où seront écrites les informations de connexion. Ce n'est utilisé que si faxrunqd est appelé avec l'option -v ou -d . |
policy-config [filename]
Spécifie le fichier contenant les règles pour la "politique de cheminement", voir ci-dessous. La valeur par défaut est "aucun fichier". |
faxrunqd-max-pages [n]
Si ceci est placé à quelque chose de plus grand que 1 (la valeur par défaut est 10), faxrunqd combinera les tâches multiples avec le même numéro de téléphone de destinataire dans un appel téléphonique unique. Le nombre maximum des pages que le travail résultant peut avoir est indiqué ici. Habituellement, il ne semble pas raisonnable d'augmenter ceci, mais dans quelques environnements il pourrait se comprendre d'arrêter ce dispositif en le plaçant à 1. |
sendfax-tty-map [tty] [program path] [args]
Quelques cas spéciaux pourraient exiger d'exécuter le programme sendfax pour des ttys spécifiques (comme "tester une nouvelle version" ou "quelques autres demandes d'appel de sendfax pour les modems non compatibles en classe 2"). Si vous voulez des tracés pour plus d'un modem tty "spécial", utiliser juste l'option plusieurs fois. Exemple : sendfax-tty-map capi0 /usr/sbin/sendfax.capi |
Politique denvoi
faxrunqd peut faire plusieurs choses différentes, selon le numéro de téléphone où le fax est censé être envoyé. Par exemple, ceci pourrait être utile pour : - envoyer les fax internes à un modem spécifique relié à un PABX (pour éviter de payer des frais de télécommunication) - envoyer les fax 'longue distance' par un opérateur spécial LD, en utilisant un préfixe spécifique pour cela. - utiliser la correction élevée supplémentaire quand vous envoyez à un destinataire connu pour être problématique etc. Ce dispositif est contrôlé par un fichier, contenant les règles de comparaison / substitution. Le nom de ce fichier est spécifié avec l'option "policy-config" dans faxrunq.config. Le fichier est lu de haut en bas. Chaque ligne commençant par le signe "#" est un commentaire, et est sautée. Dans chacune des autres lignes, le premier champ de la ligne est interprété comme une clause de "correspondance", et comparé au numéro de téléphone du fax à envoyer. Des expressions régulières peuvent être utilisées (voir perlre(1)). Si le numéro de téléphone a une correspondance, le deuxième champ est employé pour substituer des parties du numéro de téléphone, par exemple, enlever un préfixe local, ou changer un chiffre, ou quoi que ce soit d'autre. Si vous ne voulez aucune substitution, mettez "-" dans ce champ. Le troisième champ indique les lignes tty à utiliser pour les fax associés à cette ligne (par exemple, vous pourriez avoir un modem relié à un fournisseur "longue distance", et d'autres pour un usage local ou autre). Mettre un "-" dans ce champ si vous voulez utiliser le modem par défaut. La partie restante de la ligne est apposée à la ligne de commande de sendfax. Avec cela, vous pouvez mettre une chaîne de numérotation différente ("- D ATD"), ou un plus haut niveau de messages de dépannage ("- x 9"), ou quoi de plus que vous pouvez imaginer. Ne mettez pas le tty à utiliser ici ("- l ttyS1"), parce que cela provoquerait une confusion avec le tty interne de faxrunqd, en provoquant des effets étranges au traitement de la file d'attente de fax !! Exemples : # 12345-nnn est envoyé à "nnn" avec un PABX local, modem sur tty2 ^12345 s/12345// tty2 # fax à 56789 (comparaison exacte) est envoyé avec un haut niveau de débogage ^56789$ - - -x 8
Fichiers
/var/spool/fax/outgoing/stop
si le fichier existe, faxrunqd arrêtera tout ce qui se passe à ce moment là, attente de toutes les tâches en suspens, et puis tombera endormi jusqu'à ce que le fichier soit enlevé. Vous pouvez utiliser cela pour arrêter le traitement de la file d'attente pour tester quelque chose, ou si vous savez avec les messages d'erreur que le modem(s) est indisponible et ne veut pas fonctionner, etc. |
/var/spool/fax/outgoing/faxqueue_done
Chaque fois que faxrunqd traite la file d'attente des fax, la date et l'heure d'exécution sont écrites dans ce fichier. Ceci est utilisé par faxspool pour donner un message d'avertissement si la file d'attente n'a pas été traitée récemment (ainsi, les fax peuvent être coincés). |
Signaux
Pour commander le comportement de faxrunqd vous pouvez lui envoyer les signaux suivants :
SIGINT
SIGTERM
enlève le fichier de verrouillage, enlève le fichier de pid, termine immédiatement. |
SIGHUP
finit tous les travaux de fax qui sont actuellement en cours d'envoi, puis termine (ceci est employé pour signaler à faxrunqd "je veux que vous vous terminiez" sans déranger l'écoulement normal de l'opération - SIGINT/TERM etc. peut mener à ce que quelques fax soient envoyés deux fois). |
SIGUSR1
ferme, fait une rotation et rouvre le fichier de log. |
SIGUSR2
récupère les statistiques de succès et d'échecs du modem courant du fichier de log. fax |
Bugs
faxrunqd ne prévient pas si le modem ne fonctionne pas - à la place, il cessera juste de l'utiliser. (c'est bien pour les envois de fax, mais mauvais pour la récupération des erreurs).
Voir aussi
faxspool(1), sendfax(8), faxq(1), faxrunq(1), faxqueue(5)
Auteur
faxrunqd est Copyright (C) 1997-2004 by Gert Doering, <gert@greenie.muc.de>. Il a été inspiré par le programme faxrunqd initial de Bodo Bauer's, mais a été complètement réécrit.
Traduction
Ce document est une traduction, réalisée par Anne Aubanc <anne.aublanc at wanadoo.fr> en avril 2005. L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : LANGUAGE=en man 8 faxrunqd. N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Poster un commentaire