This document presents Fcron and how it coexists with dcron in Slint.

We first reproduce verbatim the chapter 1.1.1 of /usr/doc/fcron-3.3.1/en/txt/ below:

What is fcron?

Fcron is a scheduler. It aims at replacing Vixie Cron, so it implements
most of its functionalities.

But contrary to Vixie Cron, fcron does not need your system to be up 7
days a week, 24 hours a day: it also works well with systems which are
not running neither all the time nor regularly (contrary to
anacrontab).

In other words, fcron does both the job of Vixie Cron and anacron, but
does even more and better :)) ...

To do so, fcron allows you to use the standard mode in which you tell
it to execute one command at a given date and hour and to make it run a
command according to its time of execution, which is normally the same
as system up time. For example:

  Run the task 'save /home/ directory' every 3h15 of system up time.

and, of course, in order to make it really useful, the time remaining
until next execution is saved each time the system is stopped. You can
also say:

  run that command once between 2am and 5am

which will be done if the system is running at any time in this
interval.

Fcron also includes a useful system of options, which can be applied
either to every lines following the declaration or to a single line.
Some of the supported options permit to:

  * run jobs one by one (fcrontab option serial),
  * set the max system load average value under which the job should be
    run (fcrontab option lavg),
  * set a nice value for a job (fcrontab option nice),
  * run jobs at fcron's startup if they should have been run during
    system down time (fcrontab option bootrun),
  * mail user to tell him a job has not run and why (fcrontab option
    noticenotrun),
  * a better management of the mailing of outputs ...

-- end of pasted text

In Slint instead of Vixie Cron dcron (or Dillon's cron) is provided, derived from a Slackware
package with a specific startup script /etc/rc.d/rc.crond, and buid from a SlackBuild available
@ http://slackbuilds.org, with a few modifications.

The goal of this modification is that users can easily choose between using fcron or dcron, both
installed by default. This works this way:

If only /etc/rc.d/rc.crond is executable, it will be used.

If both /etc/rc.d/rc.crond and /etc/rc.d/rc.fcron are executable, /etc/rc.d/rc.fcron will be used.

If /etc/rc.d/rc.crond is not executable neither dcron nor fcron will run.

Role of thumb: for a server running 24/7 dcron is enough. Howecver even then you may want to use
specific features of fcron.

In Slint fcron is pre-configured for the root user. You can change this configuration running as
root:
fcrontab -e
which will allow to edit the crontab file for root.

The utility fcrondyn allows dialog dyn-amically with a running fcron daemon. As indicated in its
man page, it can be run with arguments to perform a single action, or without argument as a shell.
Then just tying help lists all available commands.

Here are man pages in the fcron package. please note that in Slinnt are in /etc/fcron, not in
/usr/local/etc as indicated in the man page. Also, the cron actions are logged in /var/log/cron

man fcron
man 1 fcrontab
man 5 fcrontab
man fcron.conf
man fcrondyn

More information is available in /usr/doc/fcron-3.3.1

This page from the Ubuntu Wiki (in French) is a good introduction to fcron:
https://doc.ubuntu-fr.org/fcron
