Copyright © 2000-2026 Thibault Godouet | Fcron 3.4.1 | Web page : http://fcron.free.fr

Fcron documentation
Prev |  | Next

# fcron

## Name

fcron -- daemon to execute scheduled tasks

## Synopsis

fcron [-c `file`] [-d] [-b] [-s `time`] [-m `num`] [-q `num`]

fcron [-c `file`] [-d] [-f] [-o] [-y] [-p `file`] [-l `time`]

fcron [-n `dir`]

fcron [-h]

fcron [-V]

## Description

Fcron should be started from `/etc/rc` or `/etc/rc.local`. Unless the `-f` (or `--foreground`) option is given, it will return immediately, so you don't need to start it with '&'.

Fcron loads users fcrontabs (see fcrontab(5)) files previously installed by fcrontab (see fcrontab(1)). Then, fcron calculates the time and date of each job's next execution, and determines how long it has to sleep, and sleeps for this amount of time. When it wakes up, it checks all jobs loaded and runs them if needed. When a job is executed, fcron forks, changes its user and group permissions to match those of the user the job is being done for, executes that job and mails the outputs to the user (this can be changed: see fcrontab(5)).

Informative message about what fcron is doing are sent to syslogd(8) under facility cron, priority notice. Warning and error messages are sent respectively at priority warning and error.

> Note: fcron sleeps at least 20 seconds after it has been started before executing a job to avoid to use too much resources during system boot.

## Options

`-f`, `--foreground`

  Don't fork to the background. In this mode, fcron will output informational message to standard error as well as to syslogd.

`-b`, `--background`

  Force running in background, even if fcron has been compiled to run in foreground as default.

`-s` `time`, `--savetime` `time`

  Save fcrontabs on disk every `time` sec (default is 1800).

`-m` `num`, `--maxserial` `num`

  Run at most `num` serial jobs simultaneously. By default, this value is set to 1.

  See also: option `serial` in fcrontab(5).

`-q` `num`, `--queuelen` `num`

  Sets the sizes of the queues that are used to manage serial jobs and the lavg queue each to `num`. This means that (A) at most `num` serial jobs can be in the waiting state and (B) at most `num` jobs can wait until the system average load drops below a set value.

`-c` `file`, `--configfile` `file`

  Make fcron use config file `file` instead of default config file `/usr/local/etc/fcron.conf`. To interact with that running fcron process, fcrontab must use the same config file (which is defined by fcrontab's option `-c`). That way, several fcron processes can run simultaneously on a single system (but each fcron process *must* have a different spool dir and pid file from the other processes).

`-o`, `--once`

  Execute all jobs that need to be run at the time fcron was started, wait for them, then return. Sets `--sleeptime` to 0. May be especially useful when used with options `-y` and `-f` in a script run, for instance, at dialup connection.

  See also: fcrontab's options `volatile`, `stdout`.

`-y`, `--nosyslog`

  Don't log to syslog at all. May be useful when running in foreground.

`-p` `file`, `--logfilepath` `file`

  If set, log to the file given as argument. fcron will log to both that file and syslog in parallel unless `-y` is also set.

`-l` `time`, `--firstsleep` `time`

  Sets the initial delay (in seconds) before any job is executed, default to 20 seconds.

`-n` `dir`, `--newspooldir` `dir`

  Create `dir` as a new spool directory for fcron. Set correctly its mode and owner. Then, exit.

`-h`, `--help`

  Display a brief description of the options.

`-V`, `--version`

  Display an informational message about fcron, including its version and the license under which it is distributed.

`-d`, `--debug`

  Run in debug mode (more details on stderr -- if option `-f` is set -- and in log file)

## Return values

Fcron returns 0 on normal exit, and 1 on error.

## Signals

`SIGTERM`

  Save configuration (time remaining until next execution, time and date of next execution, etc), wait for all running jobs and exit.

`SIGUSR1`

  Force fcron to reload its configuration.

`SIGUSR2`

  Make fcron print its current schedule on syslog. It also toggles on/off the printing on debug info on syslog.

`SIGHUP`

  Tell fcron to check if there is any configuration update (this signal is used by fcrontab(1))

`SIGCONT`

  Notify fcron that the system was just resumed from suspend (to memory or disk). This will trigger fcron to read the /usr/local/var/run/fcron.suspend and update the task schedules accordingly. Note that fcron doesn't need this to detect suspend/resume on Linux.

## 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.

`/usr/local/var/run/fcron.suspend`

  Location of fcron suspend file, for non-Linux systems. This should be used to let fcron know how long the system was suspended (to memory or disk), so as task schedules can be updated accordingly. The file must be owned by root:root, and not writable by others. When the system resumes, write the number of seconds (as a string) the system was suspended into this file, and then send a `SIGCONT` signal to make fcron process (and then delete) that file. This is not needed on Linux as fcron uses Linux-specific APIs to detect the resume and measure the suspend duration.

## 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 `<fcron@free.fr>`

Prev | Home | Next
Manual pages of fcron | Up | fcron.conf