Fcron-3.2.1

Introduction à Fcron

Le paquet Fcron contient un lanceur de commande périodique ayant pour but de remplacer Vixie Cron.

This package is known to build and work properly using an LFS 11.3 platform.

Informations sur le paquet

  • Téléchargement (HTTP) : http://fcron.free.fr/archives/fcron-3.2.1.src.tar.gz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 : bd4996e941a40327d11efc5e3fd1f839

  • Taille du téléchargement : 587 Ko

  • Estimation de l'espace disque requis : 5.1 Mo

  • Estimation du temps de construction : 0,1 SBU

Dépendances de Fcron

Facultatives

Un MTA, éditeur de texte (par défaut vi du paquet Vim-9.0.1273), Linux-PAM-1.5.2 et DocBook-utils-0.6.14

Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/fcron

Installation de Fcron

Pour des raisons de sécurité, vous devriez créer un utilisateur et un groupe non privilégiés pour Fcron. (faites en tant qu'utilisateur root) :

groupadd -g 22 fcron &&
useradd -d /dev/null -c "Fcron User" -g fcron -s /bin/false -u 22 fcron

Maintenant corrigez certains emplacement codés en dur dans la documentation :

find doc -type f -exec sed -i 's:/usr/local::g' {} \;

Installez Fcron en exécutant les commandes suivantes :

./configure --prefix=/usr          \
            --sysconfdir=/etc      \
            --localstatedir=/var   \
            --without-sendmail     \
            --with-piddir=/run     \
            --with-boot-install=no &&
make

Ce paquet n'a pas de suite de tests.

Maintenant, en tant qu'utilisateur root :

make install

Les installations par DESTDIR doivent se faire en tant qu'utilisateur root. De plus, si les fichiers de configuration de PAM doivent être installés dans /etc/pam.d, vous devez créer ce répertoire dans le DESTDIR avant d'effectuer l'installation.

Explication des commandes

--without-sendmail : Par défaut, Fcron essaiera d'utiliser la commande sendmail d'un paquet MTA pour vous envoyer par messagerie le résultat du script fcron. Ce paramètre est utilisé pour désactiver la notification par messagerie par défaut. Ne mettez pas ce paramètre pour activer l'option par défaut. Vous pouvez sinon utiliser --with-sendmail=</chemin/vers/la/commande/MTA> pour utiliser une autre commande de messagerie.

--with-boot-install=no : Ceci empêche l'installation du script de démarrage inclus avec le paquet.

--with-piddir=/run : cela corrige l'unité systemd pour qu'elle utilise les bons répertoires pour les fichiers PID pour que systemctl ne se fige pas et que les unités démarrent correctement.

--with-editor=</path/to/editor> : Ce paramètre vous permet de régler l'éditeur de texte par défaut.

--with-dsssl-dir=</path/to/dsssl-stylesheets> : Peut être utilisé si vous avez installé DocBook-utils-0.6.14. Actuellement, les feuilles de styles dsssl sont dans le répertoire /usr/share/sgml/docbook/dsssl-stylesheets-1.79.

Configuration de Fcron

Fichiers de configuration

/etc/fcron.conf, /etc/fcron.allow et /etc/fcron.deny

Informations sur la configuration

Aucune modification n'est nécessaire dans un fichier de config. Vous pouvez trouver des informations de configuration dans la page de man de fcron.conf.

Les scripts fcron sont écrits en utilisant fcrontab. Reportez-vous à la page de manuel de fcrontab pour les paramètres adaptés à votre situation.

Si Linux-PAM est installé, deux fichiers de configuration PAM sont installés dans etc/pam.d. Sinon, si etc/pam.d n'est pas utilisé, l'installation enverra deux sections de configuration vers le fichier /etc/pam.conf. Vous devriez vous assurer que les fichiers correspondent à vos préférences. Modifiez-les comme il faut pour s'adapter à vos besoins.

Taches périodiques

Si vous voulez paramétrer une hiérarchie périodique pour l'utilisateur root, lancez d'abord les commandes suivantes (en tant qu'utilisateur root) pour créer le script /usr/bin/run-parts :

cat > /usr/bin/run-parts << "EOF" &&
#!/bin/sh
# run-parts:  Runs all the scripts found in a directory.
# from Slackware, by Patrick J. Volkerding with ideas borrowed
# from the Red Hat and Debian versions of this utility.

# keep going when something fails
set +e

if [ $# -lt 1 ]; then
  echo "Usage: run-parts <directory>"
  exit 1
fi

if [ ! -d $1 ]; then
  echo "Not a directory: $1"
  echo "Usage: run-parts <directory>"
  exit 1
fi

# There are several types of files that we would like to
# ignore automatically, as they are likely to be backups
# of other scripts:
IGNORE_SUFFIXES="~ ^ , .bak .new .rpmsave .rpmorig .rpmnew .swp"

# Main loop:
for SCRIPT in $1/* ; do
  # If this is not a regular file, skip it:
  if [ ! -f $SCRIPT ]; then
    continue
  fi
  # Determine if this file should be skipped by suffix:
  SKIP=false
  for SUFFIX in $IGNORE_SUFFIXES ; do
    if [ ! "$(basename $SCRIPT $SUFFIX)" = "$(basename $SCRIPT)" ]; then
      SKIP=true
      break
    fi
  done
  if [ "$SKIP" = "true" ]; then
    continue
  fi
  # If we've made it this far, then run the script if it's executable:
  if [ -x $SCRIPT ]; then
    $SCRIPT || echo "$SCRIPT failed."
  fi
done

exit 0
EOF
chmod -v 755 /usr/bin/run-parts

Maintenant, créez la hiérarchie des répertoires pour les taches périodiques (de nouveau en tant qu'utilisateur root) :

install -vdm754 /etc/cron.{hourly,daily,weekly,monthly}

Enfin, ajoutez run-parts au fcrontab du système (toujours en tant qu'utilisateur root).

cat > /var/spool/fcron/systab.orig << "EOF"
&bootrun 01 * * * * root run-parts /etc/cron.hourly
&bootrun 02 4 * * * root run-parts /etc/cron.daily
&bootrun 22 4 * * 0 root run-parts /etc/cron.weekly
&bootrun 42 4 1 * * root run-parts /etc/cron.monthly
EOF

Unité Systemd

Activez le démarrage de Fcron au démarrage en utilisant l'unité systemd précédemment installée.

systemctl enable fcron

Enfin, toujours en tant qu'utilisateur root, démarrez fcron et générez le fichier /var/spool/fcron/systab :

systemctl start fcron &&
fcrontab -z -u systab

Contenu

Programmes installés: fcron, fcrondyn, fcronsighup et fcrontab
Bibliothèques installées: Aucune
Répertoires installés: /usr/share/doc/fcron-3.2.1 et /var/spool/fcron

Descriptions courtes

fcron

et le démon de planification

fcrondyn

est un outil utilisateur conçu pour interagir avec un démon fcron existant

fcronsighup

demande à fcron de relire les tables Fcron

fcrontab

est un programme utilisé pour installer, éditer, lister et supprimer les tables utilisées par fcron