faxrunq(1) mgetty+sendfax manual faxrunq(1)
faxrunq - send fax jobs queued by faxspool(1)
Run the fax queue set up by faxspool(1), try to send all faxes, record result, remove job
and send notify mails.
faxrunq looks for all the jobs queued by faxspool(1) to /var/spool/fax/outgoing/*. For
each job in the queue, faxrunq tries to send it, using sendfax(8).
If the send succeeds, the job is removed from the queue, and a "success" mail is sent to
the originator of the spooled job.
If the send fails, it's logged, and faxrunq proceeds to the next job. If the job fails
five times "fatally", that is, not with a locked or engaged line, but with "NO CARRIER"
(no fax machine, or line noise), the job is suspended, and the requestor gets a mail,
telling him so.
faxrunq can be run from the command line (but make sure the user doing this has write
access to the modem device and to the fax queue, that is, usually this should be done by
"fax" or "root"). In a production environment, it's more useful to start faxrunq from
cron(8) in regular intervals, like "run it every 5 minutes". See the cron(8) and/or
crontab(1) man pages for this (which man page exists depends on your system).
-q Tells faxrunq to be quiet, that is, suppress all status messages. Error messages
will still be printed.
if this file exists, faxrunq (and faxrunqd) will do nothing. You can use this to
stop queue processing while testing something, or if you know that the modem(s) are
unavailable and do not want to run into oany error messages, etc.
Every time faxrunq (or faxrunqd) run the fax queue, a time stamp is written into
that file. It is used by faxspool to display a warning if the queue hasn't been
run recently (so faxes may get stuck).
Some aspects of the behaviour of faxrunq can be controlled by a configuration file,
/etc/mgetty+sendfax/faxrunq.config. In this file, you can use the following options:
A boolean parameter that controls whether a mail will be sent after successful com-
pletition of the fax job.
A boolean parameter that controls whether a mail will be sent after the fax job has
failed more than the maximum number of times.
Here, you can specify a program that will be run when the fax has been successfully
sent. It will be passed two command line parameters. The first is the full path to
the fax JOB file (see faxq(5)), the second is the last exit code from sendfax (for
success-call-program, this is always "0").
Similar to the "success-call-program", this program will be run when the fax has
been failed too often and faxrunq gives up. This script could, for example, print
out the fax on a printer so that it can be sent manually on a paper fax machine.
This specifies the number of times that a fax may fail "fatally", that is, causing
telephone costs (explained above). The default value is 5.
This is the absolute maximum number of times that faxrunq will try to send any
given fax. The default value is 10. (Right now, it's not yet implemented).
Determines whether faxrunq should delete jobs after sending, or leave them in the
fax queue (while moving the "JOB" file to "JOB.done") so that they can be seen at
by "faxq -o". The default value is "do not delete sent faxes".
Specifies where faxrunq should protocol success and failure of each try to send a
fax job. The default location is /var/spool/fax/outgoing/acct.log.
There are some other options that are allowed, but ignored. These are: max-modems,
They are used by faxrunqd(8) (which reads the same config file, but has more
faxrunq doesn't handle proper time scheduling yet
Don't use faxrunq if you have malevolent users with access to the fax spool. It doesn't
handle all cases of file movement tricks correctly. Use faxrunqd(8) instead, which does
it correctly (this point is mostly moot if the fax queue is set up correctly - that is,
owned by 'fax', mode 755, and faxrunq(1) is also run as user 'fax').
faxspool(1), sendfax(8), faxq(1), faxqueue(5), faxrunqd(8)
faxrunq is Copyright (C) 1993-2002 by Gert Doering, <firstname.lastname@example.org>.
greenie 23 Nov 02 faxrunq(1)