faxrunq(1)
π faxrunq(1) π
okay bestie, welcome to the mgetty+sendfax manual and specifically the page for faxrunq β the little queue-wrangler that actually gets your faxes OUT the door. grab a boba, we're doing this. π§β¨
πΈ NAME πΈ
faxrunq β send fax jobs queued by faxspool(1)
β¨ SYNOPSIS β¨
faxrunq
yes bestie that's it. no flags required, she just goes. π
π¦ DESCRIPTION π¦
So the whole vibe here is: faxrunq runs the fax queue that faxspool(1) set up. It tries to send all the faxes, records the result, removes the job, and sends the notify mails. That's the entire personality. π
faxrunq goes looking for every job that faxspool(1) queued up in /var/spool/fax/outgoing/*. For each job sitting in that queue, faxrunq tries to send it, using sendfax(8).
If the send succeeds, the job gets removed from the queue, and a "success" mail gets sent to whoever spooled the job in the first place. iconic behaviour. π
If the send fails, it gets logged, and faxrunq just moves on to the next job like nothing happened. BUT β if the job fails five times "fatally" β and like, fatally here means NOT a locked or engaged line, but "NO CARRIER" (so: no fax machine on the other end, or just line noise being a hater) β then the job gets suspended, and the requestor gets a mail telling them so. π
You can run faxrunq straight from the command line, but bestie, make sure the user doing that has write access to the modem device and to the fax queue. Usually that means it should be run by "uucp" or "root". π
In a production environment though, it's way more useful to start faxrunq from cron(8) at regular intervals, like "run it every 5 minutes". Check the cron(8) and/or crontab(1) man pages for this (which one actually exists depends on your system, no cap).
π OPTIONS π
-qβ tellsfaxrunqto be quiet, meaning it suppresses all status messages. Error messages will still be printed though, because some things are just too important to shush. π€«
π FILES π
/var/spool/fax/outgoing/stopβ if this file exists,faxrunq(andfaxrunqd) will do nothing. literally nothing. You can use this to stop queue processing while you're testing something, or if you already know the modem(s) are unavailable and you do not want to run into oany error messages, etc./var/spool/fax/outgoing/faxqueue_doneβ every single timefaxrunq(orfaxrunqd) runs the fax queue, a time stamp gets written into that file. It's used byfaxspoolto display a warning if the queue hasn't been run recently (because that means faxes may get stuck π).
π CONFIGURATION FILE π
Some aspects of faxrunq's behaviour can be controlled by a configuration file: /etc/mgetty/faxrunq.config. In this file, you can use the following options:
success-send-mail [y/n]β a boolean parameter that controls whether a mail will be sent after successful completition of the fax job.failure-send-mail [y/n]β a boolean parameter that controls whether a mail will be sent after the fax job has failed more than the maximum number of times.success-call-program <name>β 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 (seefaxq(5)), and the second is the last exit code fromsendfax(forsuccess-call-program, this is always"0").failure-call-program <name>β similar to the"success-call-program", this program will be run when the fax has been failed too often andfaxrunqgives 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. retro. π¨οΈmaxfail-costly <n>β this specifies the number of times that a fax may fail"fatally", that is, causing telephone costs (explained above). The default value is5.maxfail-total <m>β this is the absolute maximum number of times thatfaxrunqwill try to send any given fax. The default value is10. (Right now, it's not yet implemented. π)delete-sent-jobs [y/n]β determines whetherfaxrunqshould 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".acct-log <path>β specifies wherefaxrunqshould 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, and faxrunqd-log.
They are used by faxrunqd(8) (which reads the same config file, but has more options). so like, they're not for you, bestie, they're for her cousin. π«Ά
π BUGS π
faxrunqdoesn't handle proper time scheduling yet- Don't use
faxrunqif you have malevolent users with access to the fax spool. It doesn't handle all cases of file movement tricks correctly. Usefaxrunqd(8)instead, which does it correctly. (This point is mostly moot if the fax queue is set up correctly β that is, owned by'uucp', mode755, andfaxrunq(1)is also run as user'uucp'.)
fr fr, read that second one twice. malevolent users = use faxrunqd(8). that's the whole tea. π΅
π₯ SEE ALSO π₯
faxspool(1), sendfax(8), faxq(1), faxqueue(5), faxrunqd(8)
π AUTHOR π
faxrunq is Copyright (C) 1993-2002 by Gert Doering, <gert@greenie.muc.de>.
and that's the whole page, bestie!! π¦β¨ this was faxrunq(1) from the mgetty+sendfax manual, written by greenie, dated 23 Nov 02. go send some faxes, you absolute icon. mwah. πππΈ
π¦ where this page comes from
- debian bookworm: mgetty-fax 1.2.1-1.2
- debian trixie: mgetty-fax 1.2.1-2
- ubuntu jammy: mgetty-fax 1.2.1-1.1
- ubuntu noble: mgetty-fax 1.2.1-1.2
- ubuntu questing: mgetty-fax 1.2.1-3
- ubuntu resolute: mgetty-fax 1.2.1-5
- ubuntu stonking: mgetty-fax 1.2.1-8
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms