From Newsgroup: alt.os.linux.slackware
I've been using fcron on Slackware for years. I like the syntax better
than having to speak asteriskese. fcron-3.4.0 is the latest version as
of this writing. Note previous versions won't build anymore with the GCC
we have now.
http://fcron.free.fr/download.php#fcron3.4.0
This is the line to build it with PAM. Note that it really wants
Docbook, else the build/install will fail.
./configure --prefix=/usr --sysconfdir=/etc
--with-sendmail=/usr/sbin/sendmail --with-editor=/usr/bin/nano --with-piddir=/var/run/fcron --with-fifodir=/var/run/fcron --with-spooldir=/var/spool/fcron --with-docdir=/usr/doc
--with-sysfcrontab --with-boot-install=no --with-selinux=no --with-dsssl-dir=/usr/share/sgml/docbook/dsssl-stylesheets-1.79/
If your Docbook install isn't up-to-speed (I loathe Docbook), install
the binaries as-is and copy the .pam files into place at /etc/pam.d
. They are in the /files/ subdirectory of the source tarball. The binary permissions are thus:
-rws--s--x 1 fcron fcron 44K May 25 16:22 /usr/bin/fcrondyn*
-rws--x--- 1 root fcron 35K May 25 16:22 /usr/bin/fcronsighup*
-rws--s--x 1 fcron fcron 76K May 25 16:22 /usr/bin/fcrontab*
and the user/group entries are like
grep fcron /etc/{passwd,group}
/etc/passwd:fcron:x:15:15:fcron daemon user:/var/spool/fcron:/sbin/nologin /etc/group:fcron:x:15:fcron
You can edit the startup scripts to not run whatever cron Slackware is
using now and instead run fcron. In rc.M:
# Start Fcron. Choose either this for dcron, not both.
if [ -x /usr/sbin/fcron ]; then
# Make sure run dir exists
mkdir -p /var/run/fcron
fcron -c /etc/fcron.conf -b
fi
Now users can edit/set their crontabs.
env VISUAL=emacs fcrontab -e
2026-05-25 16:28:18 INFO fcrontab : editing jayjwa's fcrontab
no fcrontab for jayjwa - using an empty one
Modifications will be taken into account at 16:28:48.
An example that mails the running processes every 2 minutes:
@mailto(jayjwa) 2 /bin/ps aux
Here's what it looks like running (/var/log/cron or wherever you told
syslog to send it):
May 25 16:28:48 atr2 fcron[10083]: adding new file jayjwa
May 25 16:28:49 atr2 fcrontab[10308]: listing jayjwa's fcrontab
May 25 16:30:46 atr2 fcron[10355]: Job '/usr/sbin/uucico --system velkhana --ifwork --quiet' started for user systab (pid 10357)
May 25 16:30:46 atr2 fcron[10355]: Job '/usr/sbin/uucico --system velkhana --ifwork --quiet' completed
May 25 16:30:48 atr2 fcron[10360]: Job '/bin/ps aux' started for user jayjwa (pid 10362)
May 25 16:30:48 atr2 fcron[10360]: Job '/bin/ps aux' completed (mailing output) May 25 16:30:51 atr2 fcrontab[10370]: listing systab's fcrontab
May 25 16:31:23 atr2 fcron[10382]: Job '/usr/sbin/uucico --system zorah --ifwork --quiet' started for user systab (pid 10384)
May 25 16:31:23 atr2 fcron[10382]: Job '/usr/sbin/uucico --system zorah --ifwork --quiet' completed
Remove it later:
env VISUAL=emacs fcrontab -r
2026-05-25 16:33:53 INFO removing jayjwa's fcrontab
Modifications will be taken into account at 16:33:58.
root's and the system crontab are separate. Here's an example of the
types of things you can do with it system-wide.
# fcrontab -u systab -l
2026-05-25 16:33:12 INFO listing systab's fcrontab
## System Wide Crontab
##
## This file defines a number of jobs for the cron daemon to do that pretain to ## the system as a whole. Most all of the non-personal system-level things are ## to be kept in this file for simple, one-place organization.
##
## NOTE: MAKE SURE THIS FILE AND FCRON'S INTERNAL COPY SYNC!!
## (Or funny, unexpected things might happen)
# No mail for any of these by default, but definately report
# if the command wasn't run for some reason !mail(false),noticenotrun(true),nice(18)
# Enter a "Restart" mark in the logfile for sadc and make sure that
# logfile is created just after midnight each day so that the 'sar'
# command with always produce output instead of 'file not found'
& 1 0 * * * /usr/lib64/sa/sadc -
# Generate a summary of process accounting each midnight
# This is only the report generation, and is still needed.
%nightly * 23 /usr/lib64/sa/sa2 -A
# Create saveacct and useracct files from "pacct" accouting file each night. %nightly * 23 sa --merge
# Keep DB for nsswitch usage up to date with /etc/ files
%nightly * 23 make -C /var/db
# Keep a running list of kmods so it will be quick to rebuild the kernel.
# This command looks and sees what is in use each time it is run.
%middaily * 12-13 /usr/bin/modprobed-db store
# Update the man page data base for new pages.
# Command for mandb 'man'
%middaily * 12-13 mandb -q
# makewhatis for regular 'man'
#%middaily * 12-13 /usr/sbin/makewhatis -s '0p 1p 3p 1 2 3 4 5 6 7 8 9 n' -w
# Run updatedb daily, too. This is for the "locate" command.
# Its database is at /var/lib/mlocate/mlocate.db
%nightly * 4-5 /usr/bin/updatedb --prunepaths="/tmp /sys /var/tmp /proc /dev /root /mnt /lost+found /home /run /media"
# Logrotate. Rotate old logs each night
%nightly * 5-6 /usr/sbin/logrotate /etc/logrotate.conf
# Update website search system (htdig). Make sure files have
# correct permissions in /var/lib/htdig if there's a problem.
%weekly * 2-3 /usr/bin/htdig -i -v
# UUCP systems. Have the daemon check for any queued jobs/mail/news to be sent. # Check for work for various systems. Only start up if work to do, every
# 20 minutes of system uptime.
@ 20 /usr/sbin/uucico --system kulve --ifwork --quiet
@ 20 /usr/sbin/uucico --system kirin --ifwork --quiet
@ 20 /usr/sbin/uucico --system zorah --ifwork --quiet
@ 20 /usr/sbin/uucico --system velkhana --ifwork --quiet
# Scan the system font dirs nightly to keep cache fresh
%nightly * 4-5 fc-cache -r -s /usr/share/fonts/OTF /usr/share/fonts/TTF
## Complex Fixed System Jobs
##
## These jobs run as one-shot jobs from the /etc/cron.d directory
## and only appear in the system crontab. Most of these tasks are
## implemented as scripts that do a task involving many lines of
## code that can't well be written as a normal fcron job
##
%nightly * 2-3 /usr/bin/run-parts /etc/cron.d
## EOF
--
PGP Key ID: 781C A3E2 C6ED 70A6 B356 7AF5 B510 542E D460 5CAE
"The Internet should always be the Wild West!"
--- Synchronet 3.22a-Linux NewsLink 1.2