fcrontab

Name

fcrontab -- manipulate per-user fcrontab files

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 directly his fcrontab (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 future editions, and a formatted file is generated for the fcron daemon, which is signaled once about ten seconds before the next minute for all changes made previously. The daemon is not informed of the changes immediately but at most once a minute to keep ill disposed users from blocking the daemon by installing fcrontabs over and over (ie. denial of service attack). We will call "fcrontab" the source file of the fcrontab in the following.

A user can install a fcrontab if he is listed in the /usr/local/etc/fcron.allow and not (unless by the keyword all) listed in /usr/local/etc/fcron.deny (see section "files" below). 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 (s)he 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 an only 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