Gestion des informations système, des processus et des performances dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Planification d'une tâche système répétitive (cron )

Les sections suivantes décrivent la création, la modification, l'affichage et la suppression des fichiers crontab, ainsi que la façon d'en contrôler l'accès.

Contenu d'un fichier crontab

Le démon cron planifie les tâches système en fonction des commandes contenues dans chaque fichier crontab. Un fichier crontab se compose de commandes, une par ligne, à exécuter à intervalles réguliers. Le début de chaque ligne indique la date et l'heure auxquelles le démon cron doit exécuter la commande.

Par exemple, un fichier crontab nommé root est fourni pendant l'installation du logiciel Oracle Solaris. Le contenu du fichier inclut les lignes de commande suivantes :

10 3 * * * /usr/sbin/logadm (1)
15 3 * * 0 /usr/lib/fs/nfs/nfsfind (2)
1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1 (3)
30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean (4)

    La sortie de chacune de ces lignes de commande est la suivante :

  • La première ligne exécute la commande logadm à 3h10 chaque jour.

  • La deuxième ligne exécute le script nfsfind chaque dimanche à 3h15.

  • La troisième ligne exécute un script qui vérifie le passage à l'heure d'été (et apporte des corrections, si nécessaire) chaque jour à 2h10.

    En l'absence de fuseau horaire HTR et de fichier /etc/rtc_config, cette entrée n'a aucun effet.


    x86 only -  Le script /usr/sbin/rtc ne peut s'exécuter que sur un système x86.
  • La quatrième ligne recherche (et supprime) les entrées en double dans le tableau des services de sécurité génériques, /etc/gss/gsscred_db, chaque jour à 3h30.

Pour plus d'informations sur la syntaxe des lignes dans un fichier crontab, reportez-vous à la section Syntaxe des entrées du fichier crontab.

Les fichiers crontab sont enregistrés dans le répertoire /var/spool/cron/crontabs. Plusieurs fichiers crontab en plus de root sont fournis pendant l'installation du logiciel Oracle Solaris.

adm

Comptabilisation

root

Fonctions générales du système et nettoyage du système de fichiers

sys

Collecte des données sur les performances

uucp

Nettoyage uucp général

En plus des fichiers crontab par défaut, vous pouvez créer des fichiers crontab personnalisés pour planifier vos propres tâches système. Les fichiers crontab personnalisés sont nommés d'après les comptes utilisateur dans lesquels ils sont créés, par exemple jean, marie, dubois ou dupont.

Pour accéder aux fichiers crontab appartenant à root ou à d'autres utilisateurs, des privilèges de superutilisateur sont requis.

Gestion de la planification par le démon cron

Le démon cron gère la planification automatique des commandes crontab. Le rôle du démon cron consiste à vérifier dans le répertoire /var/spool/cron/crontab la présence de fichiers crontab.

    Le démon cron effectue les tâches suivantes au démarrage :

  • Il vérifie l'existence de nouveaux fichiers crontab.

  • Il lit les heures d'exécution qui sont répertoriées à l'intérieur de ces fichiers.

  • Il soumet l'exécution des commandes au bon moment.

  • Il reçoit les notifications des commandes crontab relatives aux fichiers crontab mis à jour.

De la même manière, le démon cron contrôle la planification des fichiers at. Ces fichiers sont stockés dans le répertoire /var/spool/cron/atjobs. Le démon cron reçoit également les notifications des commandes crontab relatives aux travaux at soumis.

Syntaxe des entrées du fichier crontab

Un fichier crontab se compose de commandes, une par ligne, qui s'exécutent automatiquement à l'heure spécifiée par les cinq premiers champs de chaque ligne de commande, séparés par des espaces.

Table 4-2  Valeurs acceptables pour les champs d'heure crontab
Champ d'heure
valeurs
Minute
0-59
Heure
0-23
Jour du mois
1-31
Mois
1-12
Jour de la semaine
0-6 (0 = dimanche)

    Suivez les instructions ci-dessous pour utiliser des caractères spéciaux dans les champs d'heure crontab :

  • Utilisez un espace pour séparer chaque champ.

  • Utilisez une virgule pour séparer plusieurs valeurs.

  • Utilisez un trait d'union pour définir une plage de valeurs.

  • Utilisez l'astérisque comme caractère générique pour inclure toutes les valeurs possibles.

  • Utilisez un signe de commentaire (#) au début d'une ligne pour indiquer un commentaire ou une ligne vierge.

Par exemple, l'entrée de commande crontab suivante affiche un message de rappel dans la fenêtre de la console utilisateur à 16 heures, le premier et le quinze de chaque mois.

0 16 1,15 * * echo Timesheets Due > /dev/console

Chaque commande contenue dans un fichier crontab doit comporter une ligne, même si cette dernière est très longue. Le fichier crontab ne reconnaît pas les retours chariot supplémentaires. Pour plus d'informations sur les entrées et options de la commande crontab, reportez-vous à la page de manuel crontab(1).