FCRONTAB(1)
FCRONTAB(1) π fcrontab, the per-user fcrontab bestie
β¨ NAME β¨
fcrontab β manipulate per-user fcrontab files that adhere to the format defined in fcrontab(5) π«Ά
πΈ SYNOPSIS πΈ
fcrontab [ -c file ] [ -n ] file [ user | -u user ]
fcrontab [ -c file ] [ -n ] { -l | -r | -e | -z } [ user | -u user ]
fcrontab [ -h ]
π DESCRIPTION π
Okay so fcrontab is the program that installs, edits, lists, and removes the tables used by the fcron(8) daemon. Literally the main character of your scheduling setup π.
Because fcron internally uses a non-human-readable format β needed because fcron saves more info than the user gives it, for example the time and date of next execution β you cannot edit their fcrontab directly (the one used by fcron). Ngl, that one is not for touching.
When a user installs a fcrontab, the source file is saved in the spool directory (/usr/local/var/spool/fcron) to allow it to be edited, and a formatted file is generated for the fcron daemon. This formatted (non-human-readable) file with all recent changes included is then sent to the daemon. The daemon is not informed of the changes immediately but after some time, to keep ill-disposed users from blocking the daemon by installing fcrontabs over and over (i.e. denial of service attack). By default, the file is sent once per minute (about ten seconds before the full minute) to the daemon, and the build time parameter --with-max-fcrontab-reload-delay-seconds can be used to specify a different maximum time to send this data. From here on, when I say βfcrontab,β I mean the source file of the fcrontab. Periodt.
The fcrontab files that a user modifies have to follow the format defined in fcrontab(5).
Users can install a fcrontab if they are listed in /usr/local/etc/fcron.allow and not listed in /usr/local/etc/fcron.deny (peep the FILES section below). The keyword all is a shorthand for all users. If neither fcron.allow nor fcron.deny exist, all users are allowed. None of these files have to exist, but if they do, the deny file takes precedence π
The first form of the command is used to install a new fcrontab file, from any named file or from standard input (if the pseudo-filename - is given), replacing the previous one (if any). Each user can have only one fcrontab. One. Only one. No cap.
For instance, root can create a systemwide fcrontab file, say /etc/fcrontab, and run fcrontab /etc/fcrontab to install the new version after each change of the file. Or root can create a new fcrontab running a simple fcrontab, and then maintain it using fcrontab -e. Same considerations apply to a non-privileged user π«Ά
π OPTIONS π
-u userβ Specify the user whose fcrontab will be managed, orsystabfor the system fcrontab. Should only be used by root. If not given, the fcrontab file of the user invokingfcrontabwill be handled. It may be useful since thesu(8)command may confusefcrontab. Quick note: theuserin the synopsis is equivalent to a-u user.-lβ List userβs current fcrontab to standard output. Slay, show me the schedule β¨-eβ Edit userβs current fcrontab using either the editor specified by the environment variableVISUAL, orEDITORifVISUALis not set. If neither of them is set,/usr/bin/viwill be used.-rβ Remove userβs fcrontab. Bye bestie π-zβ Reinstall userβs fcrontab from its source code. All informationfcronmay have kept in the binary fcrontab (such as the last execution time and date) will be forgotten (ie. lost).
π¨ Bestie, -z is giving βfresh startβ but it means the binary fcrontabβs kept info β like last execution time and date β is literally lost. Not a drill.
-nβ Ignore previous version. If this option is not given,fcronwill try to keep as much information as possible between old and new version of the fcrontab (time and date of next execution, if job is in serial queue, etc) if the line hasnβt been modified (same fields, same shell command).-c fileβ Makefcrontabuse config file file instead of default config file/usr/local/etc/fcron.conf. To interact with a runningfcronprocess,fcrontabmust use the same config file as the process. That way, severalfcronprocesses can run simultaneously on a single system.-dβ Run in debug mode. In this mode, many informational messages will be output in order to check if anything went wrong.-hβ Display a brief description of the options.-Vβ Display an informational message aboutfcrontab, including its version and the license under which it is distributed.
π RETURN VALUES π
fcrontab returns 0 on normal exit and 1 on error. Thatβs the vibe check: 0 = iconic, 1 = something went wrong π
π¦ CONFORMING TO π¦
Should be POSIX compliant.
ποΈ FILES ποΈ
/usr/local/etc/fcron.confβ Configuration file forfcron,fcrontabandfcrondyn: contains paths (spool dir, pid file) and default programs to use (editor, shell, etc). Seefcron.conf(5)for more details./usr/local/etc/fcron.allowβ Users allowed to usefcrontabandfcrondyn(one name per line, special nameallacts for everyone)./usr/local/etc/fcron.denyβ Users who are not allowed to usefcrontabandfcrondyn(same format as allow file)./usr/local/etc/pam.d/fcron(or/usr/local/etc/pam.conf) β PAM configuration file forfcron. Take a look atpam(8)for more details.
π₯ SEE ALSO π₯
If youβre learning how to use fcron from scratch, I suggest that you read the HTML version of the documentation (if youβre not reading it right now! :)): the content is the same, but it is easier to navigate thanks to the hyperlinks. Iykyk π
π AUTHOR π
Thibault Godouet <fcron@free.fr> β author, icon, legend π«Ά
π final vibe check: this was FCRONTAB(1), page dated 06/06/2026 and 06 June 2026 β bye bestie, go schedule something iconic! π¦β¨
π¦ where this page comes from
- arch rolling: fcron 3.4.1-1 Β· GPL-2.0-or-later
- nixpkgs unstable: fcron 3.4.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms