La manière la plus efficace de modifier plusieurs fichiers lors de l'installation consiste à définir une classe et à fournir un script d'action de classe. Si vous avez utilisé la démarche de la classe build, vous devez fournir un script de classe build pour chaque fichier crontab modifié. La définition d'une classe cron représente une démarche plus globale. Pour modifier les fichiers crontaben suivant cette démarche, vous devez effectuer les opérations suivantes :
Définir les fichiers crontab à modifier dans le fichier prototype.
Créez une entrée dans le fichier prototype pour chaque fichier crontab à modifier. Définissez cron comme classe et e comme type de fichier de chaque fichier. Utilisez le nom réel du fichier à modifier.
Créer les fichiers crontab du package.
Ces fichiers contiennent les informations à ajouter aux fichiers crontab actuels du même nom.
Créer un script d'action de classe d'installation pour la classe cron.
L'exemple de script de classe i.cron effectue les procédures suivantes :
Il détermine l'ID utilisateur (UID).
Le script i.cron définit la variable user sur le nom de base du script de classe cron traité. Ce nom est l'UID. Par exemple, le nom de base de /var/spool/cron/crontabs/root est root, qui est également l'UID.
Il exécute la commande crontab, en se servant de l'UID et de l'option - l.
L'utilisation de l'option -l indique à crontab de transmettre dans le résultat standard, le contenu du fichier crontab de l'utilisateur défini.
Il envoie le résultat de la commande crontab dans un script sed qui supprime toute entrée ajoutée précédemment par cette technique d'installation.
Il place le résultat modifié dans un fichier temporaire.
Il ajoute le fichier de données de l'UID root (fourni avec le package) dans le fichier temporaire et insère une balise indiquant la provenance des entrées.
Il exécute la commande crontab avec le même UID et lui transmet les fichiers temporaires comme entrée.
Créer un script d'action de classe de suppression pour la classe cron.
Le script r.cron est identique au script d'installation à ceci près qu'il n'existe pas de procédure pour ajouter des informations dans le fichier crontab.
Ces procédures sont effectuées pour chaque fichier de la classe cron.