.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "FCRONTAB" "1" "05 December 2021" "12/05/2021" ""
.SH NAME
fcrontab \- manipulate per-user fcrontab files
.SH SYNOPSIS
\fBfcrontab\fR [ \fB-c
\fIfile\fB\fR ] [ \fB-n\fR ] \fB\fIfile\fB\fR [ \fB\fIuser\fB\fR | \fB-u
\fIuser\fB\fR ]
\fBfcrontab\fR [ \fB-c
\fIfile\fB\fR ] [ \fB-n\fR ] { \fB-l\fR | \fB-r\fR | \fB-e\fR | \fB-z\fR } [ \fB\fIuser\fB\fR | \fB-u
\fIuser\fB\fR ]
\fBfcrontab\fR [ \fB-h\fR ]
.SH "DESCRIPTION"
.PP
\fBFcrontab\fR is the program intended to
install, edit, list and remove the tables used by \fBfcron\fR(8) daemon. As \fBfcron\fR internally
uses a non-human readable format (this is needed because \fBfcron\fR
saves more informations than the user gives, for example the time
and date of next execution), the user cannot edit directly his
\fBfcrontab\fR (the one used by \fBfcron\fR).
.PP
When a user
installs a \fBfcrontab\fR, the source file is saved in the spool
directory (\fI/usr/local/var/spool/fcron\fR) to allow future
editions, and a formatted file is generated for the \fBfcron\fR 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
\fBfcrontab\fRs over and over (ie. denial of service attack). We will call
"\fBfcrontab\fR" the source file of the \fBfcrontab\fR
in the following.
.PP
A user can install a \fBfcrontab\fR if
he is listed in the \fI/usr/local/etc/fcron.allow\fR and not
(unless by the keyword all) listed in
\fI/usr/local/etc/fcron.deny\fR (see section "files" below). If neither
\fIfcron.allow\fR nor \fIfcron.deny\fR
exist, all users are allowed. None of these files have to exist, but
if they do, the deny file takes precedence.
.PP
The first
form of the command is used to install a new \fBfcrontab\fR 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 \fBfcrontab\fR\&.
.PP
For instance, root can create a
systemwide fcrontab file, say \fI/etc/fcrontab\fR,
and run "\fBfcrontab\fR
\fI/etc/fcrontab\fR" to install the new version after
each change of the file. Or (s)he can create a new fcrontab running
a simple "\fBfcrontab\fR", and then maintain it using
"\fBfcrontab\fR \fB-e\fR". Same
considerations apply to a non privileged user.
.SH "OPTIONS"
.TP
\fB-u \fIuser\fB\fR
Specify the user whose \fBfcrontab\fR will be managed, or
"systab" for the system fcrontab. Should only be
used by root. If not given, the \fBfcrontab\fR file of the
user invoking \fBfcrontab\fR will be handled. It may be useful
since the \fBsu\fR(8) command may
confuse \fBfcrontab\fR\&.
.sp
.RS
.B "Note:"
the
\&'\fIuser\fR\&' in the synopsys is equivalent
to a '\fB-u\fR
\fIuser\fR\&'.
.RE
.TP
\fB-l\fR
List user's current \fBfcrontab\fR to standard
output.
.TP
\fB-e\fR
Edit user's current \fBfcrontab\fR using either the editor
specified by the environment variable
\fBVISUAL\fR, or \fBEDITOR\fR if
\fBVISUAL\fR is not set. If none or them are set,
\fB/usr/bin/vi\fR will be used.
.TP
\fB-r\fR
Remove user's \fBfcrontab\fR\&.
.TP
\fB-z\fR
Reinstall user's \fBfcrontab\fR from its source code. All
informations \fBfcron\fR may have kept in the binary
\fBfcrontab\fR (such as the last execution time and date) will
be forgotten (ie. lost).
.TP
\fB-n\fR
Ignore previous version. If this option is not given,
\fBfcron\fR will try to keep as much information as possible
between old and new version of the \fBfcrontab\fR (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).
.TP
\fB-c \fIfile\fB\fR
Make \fBfcrontab\fR use config file
\fIfile\fR instead of default config
file \fI/usr/local/etc/fcron.conf\fR\&. To
interact with a running \fBfcron\fR process, \fBfcrontab\fR must
use the same config file as the process. That way, several
\fBfcron\fR processes can run simultaneously on an only
system.
.TP
\fB-d\fR
Run in debug mode. In this mode, many informational
messages will be output in order to check if anything went
wrong.
.TP
\fB-h\fR
Display a brief description of the options.
.TP
\fB-V\fR
Display an informational message about \fBfcrontab\fR,
including its version and the license under which it is
distributed.
.SH "RETURN VALUES"
.PP
\fBFcrontab\fR returns 0 on
normal exit and 1 on error.
.SH "CONFORMING TO"
.PP
Should be POSIX compliant.
.SH "FILES"
.TP
\fB\fI/usr/local/etc/fcron.conf\fB\fR
Configuration file for \fBfcron\fR, \fBfcrontab\fR and
\fBfcrondyn\fR: contains paths (spool dir, pid file) and
default programs to use (editor, shell, etc). See \fBfcron.conf\fR(5) for more
details.
.TP
\fB\fI/usr/local/etc/fcron.allow\fB\fR
Users allowed to use \fBfcrontab\fR and \fBfcrondyn\fR (one name
per line, special name "all" acts for everyone)
.TP
\fB\fI/usr/local/etc/fcron.deny\fB\fR
Users who are not allowed to use \fBfcrontab\fR and
\fBfcrondyn\fR (same format as allow file)
.TP
\fB\fI/usr/local/etc/pam.d/fcron\fB (or \fI/usr/local/etc/pam.conf\fB)\fR
PAM configuration file for
\fBfcron\fR\&. Take a look at pam(8) for more details.
.SH "SEE ALSO"
\fBfcrontab\fR(1),
\fBfcrondyn\fR(1),
\fBfcrontab\fR(5),
\fBfcron.conf\fR(5),
\fBfcron\fR(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.
.SH "AUTHOR"
.PP
Thibault Godouet