fcrontab

Name

fcrontab -- manipulate per-user fcrontab files which 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

Fcrontab is the program intended to install, edit, list and remove the tables used by fcron(8) daemon. As fcron internally uses a non-human readable format (this is needed because fcron saves more informations than the user gives, for example the time and date of next execution), the user cannot edit their fcrontab directly (the one used by fcron).

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, the build time parameter --with-max-fcrontab-reload-delay-seconds can be used to specify a different maximum time to send this data. We will call "fcrontab" the source file of the fcrontab in the following.

The fcrontab files that a user modifies has 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 (see section "files" 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.

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, or "systab" for the system fcrontab. Should only be used by root. If not given, the fcrontab file of the user invoking fcrontab will be handled. It may be useful since the su(8) command may confuse fcrontab.

Note: the 'user' in the synopsys is equivalent to a '-u user'.

-l

List user's current fcrontab to standard output.

-e

Edit user's current fcrontab using either the editor specified by the environment variable VISUAL, or EDITOR if VISUAL is not set. If none or them are set, /usr/bin/vi will be used.

-r

Remove user's fcrontab.

-z

Reinstall user's fcrontab from its source code. All informations fcron may have kept in the binary fcrontab (such as the last execution time and date) will be forgotten (ie. lost).

-n

Ignore previous version. If this option is not given, fcron will 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

Make fcrontab use config file file instead of default config file /usr/local/etc/fcron.conf. To interact with a running fcron process, fcrontab must use the same config file as the process. That way, several fcron processes 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 about fcrontab, including its version and the license under which it is distributed.

Return values

Fcrontab returns 0 on normal exit and 1 on error.

Conforming to

Should be POSIX compliant.

Files

/usr/local/etc/fcron.conf

Configuration file for fcron, fcrontab and fcrondyn: contains paths (spool dir, pid file) and default programs to use (editor, shell, etc). See fcron.conf(5) for more details.

/usr/local/etc/fcron.allow

Users allowed to use fcrontab and fcrondyn (one name per line, special name "all" acts for everyone)

/usr/local/etc/fcron.deny

Users who are not allowed to use fcrontab and fcrondyn (same format as allow file)

/usr/local/etc/pam.d/fcron (or /usr/local/etc/pam.conf)

PAM configuration file for fcron. Take a look at pam(8) for more details.

See also

fcrontab(1),
fcrondyn(1),
fcrontab(5),
fcron.conf(5),
fcron(8).
If you're learning how to use fcron from scratch, I suggest that you read the HTML version of the documentation (if your are not reading it right now! :) ): the content is the same, but it is easier to navigate thanks to the hyperlinks.

Author

Thibault Godouet