Skip directly to content

crond

Portrait de zozodesbois
on mar, 11/09/2012 - 09:05
  1. Crond plannificationUtilité
  2. Le service
  3. Infos sur le module
  4. Besoin d'aide
Info Commande faisant parti de Busybox
Géré dans le Firmware GeekyHMB
Droits Logiciel libre
Site officiel http://www.busybox.net/
Ref http://fr.wikipedia.org/wiki/Crontab
http://www.commentcamarche.net/contents/tutlinux/lincron.php3

Utilité

Ce service permet de planifier des tâches.
Vous allez pouvoir imaginer de faire exécuter des tâches à heures fixes: une sauvegarde de fichier, un transfert, un nouveau calcul des chaînes cryptées pendant la lecture etc... En combinant avec l'envoi de commandes ir, on peut même imaginer que l'appareil lance tout seul le RMusic pour votre réveil du matin.

Le service

Le démon crond doit être actif pour que les tâches s'exécutent aux dates et heures demandées. Il faut donc que le HMB soit allumé pour que cela fonctionne, sinon les tâches seront oubliées jusqu'à la prochaine exécution si le HMB est allumé à ce moment-là.

Nom crond
rcS /usr/local/etc/init.d/K50crond
Config  
Logs  

La gestion de ce Service se fait par l'interface InfoHMB, ou avec la commande daemons.

Infos sur le module

Le fichier de configuration s'appelle la crontab. Il se gère avec la commande du même nom

Usage: crontab [-c DIR] [-u USER] [-ler]|[FILE]
    -c    Crontab directory
    -u    User
    -l    List crontab
    -e    Edit crontab
    -r    Delete crontab
    FILE    Replace crontab by FILE ('-': stdin)

Cette commande va lancer le programme vi pour éditer la crontab.

crontab -e

Si la crontab n'existait pas, elle va être crée (fichiers situés dans /usr/local/etc/cron)

Pour lister le contenu de la crontab

crontab -l

Une ligne de crontab est structurée comme ceci

Chaque ligne contient 6 positions. Les 5 premières définissent les moments d'exécution de la tâche en fin de ligne.

Chaque position est séparée par des espaces.

La dernière position peut être un script ou une suite de commandes.

Les 5 premières positions peuvent être représentées ainsi

  • Une * pour dire que le déclenchement se fera pour toutes les valeurs possibles de la position
  • Une valeur précise et valide: minutes de 0 à 59, heures de 0 à 23, jours de 1 à 31, mois de 1 à 12, semaine 0 à 6 (0 pour dimanche).
  • Une liste de valeurs séparée par des virgules: 10,15,20,25 par exemple pour les minutes 10, 15, 20 et 25
  • Un intervalle: 1-10 par exemple pour les jours si on veut un déclenchement du 1er au 10.
  • L'étoile divisée par une valeur. Par exemple pour les minutes */2 voudra dire toutes les 2 minutes.

Tout ce qui suit un # n'est pas interprété, c'est considéré comme un commentaire.

# ceci est un commentaire pour expliquer ce que l'on fait

Voici quelques exemples de

# Tous les soirs à 30h03 si le HMB est allumé,
# la ligne "bonsoir" va être ajoutée dans le fichier /tmp/Test_crontab
03 20 * * * echo bonsoir>>/tmp/Test_crontab

# Tous les matins à 7h00 sauf samedi et dimanche,
# si je veux être réveillé en musique avec RMusic
00 07 * * 1-5 echo "-   ">>/tmp/ir

# Redémarrer le HMB chaque 1er et 15 du mois à 5h00
00 5  1,15 * * reboot

Besoin d'aide

Si vous rencontrez un problème avec ce tuto, merci de poster dans le forum sur le topic approprié.

Les commentaires en bas de cette page sont essentiellement destinés à faire des remarques ou à compléter l'article.

Votez: 
Pas encore de vote