# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
##@creator: jclain
##@created: 15/03/2012 22:20
##@modifier: jclain
##@changecount: 1
##@tags: 
##@title: ucrontab

{{{
ucrontab: Ajouter/Supprimer une ligne dans crontab

USAGE
    ucrontab [options] ctline

OPTIONS
    -a  Ajouter la ligne dans le fichier crontab (par défaut)
    -r  Enlever la ligne dans le fichier crontab
    -u user
        Spécifier l'utilisateur pour lequel on modifie crontab. Par défaut,
        modifier le crontab de root
    -H host:hosts...
        Modifier le crontab sur les hôtes distants spécifiés. Avec l'hôte '.' ou
        'localhost', la modification est faite sur l'hôte local
        Si l'action est -a, un script 'undo-ucrontab.sh' est créé dans le
        répertoire courant, qui annule la planification. Il est possible de
        lancer ce script le lendemain pour enlever les planifications
        installées.
    ctline
        Ligne de crontab de la forme 'minutes hours days months dows command'
        Si la ligne est de la forme halt[@hh:mm], la commande 'shutdown -h now'
        est planifiée pour le LENDEMAIN à hh:mm. si hh:mm n'est pas spécifié,
        l'arrêt est planifié pour 7:00
    -t hh:mm
        Ignorer la partie 'minutes hours days months dows' de ctline, et la
        remplacer par une planification à hh:mm le LENDEMAIN.
    --dom dayOfMonth
    --month month
        Spécifier respectivement le jour du mois et le mois (1-12) auquel faire
        la planification. Par défaut, les planifications sont effectuées pour le
        LENDEMAIN. Il est conseillé de spécifier les deux arguments si le jour
        doit être fixé.
    -s cmdfile
        Spécifier un fichier, dont le contenu est utilisé pour générer le script
        qui est planifié. Le fichier doit contenir l'ensemble des commandes à
        exécuter. Le script est modifié pour s'autodétruire à la fin de son
        exécution. Si ce comportement n'est pas souhaité, il faut rajouter la
        commande 'exit 0' à la fin.
    -S cmd
        Comme -s, mais spécifier le contenu du fichier directement sur la ligne
        de commande.
    -f hostsfile
        Spécifier un fichier qui contient la liste des hôtes sur lesquels faire
        les planifications.
        Les options -s, -S, -H, -d, -n sont ignorées. L'option --add est valide
        jusqu'au premier @group du fichier. Voici le format de ce fichier:

        Un groupe d'hôte débute par une ligne de la forme '@group:adelay:gdelay'
        - adelay est le nombre de minutes à laisser passer entre les hôtes du
          groupe (par défaut 1)
        - gdelay est le nombre de minutes à laisser passer après le traitement
          du groupe (par défaut 15)
        Les autres lignes sont des hôtes sur lequels planifier l'opération, de
        la forme 'host:cmd'
        - host est un nom d'hôte pleinement qualifié, sur lequel il est possible
          de se connecter par clé.
        - cmd est une description de la commande à lancer pour effectuer
          l'opération planifiée. Utiliser la syntaxe '<script' pour prendre le
          contenu du fichier de script spécifié. Le script est copié dans un
          fichier temporaire sur l'hôte, et se supprime après son
          lancement. Sinon, la commande spécifiée est utilisée telle quelle. Si
          cmd n'est pas spécifié, prendre la commande par défaut donnée par
          ctline
        Les lignes vides et commençant par '#' sont ignorées
        La commande '@include:file' permet d'inclure un autre fichier

    -d  Activer l'incrémentation automatique des heures de planification entre
        chaque hôte. Ceci permet par exemple de planifier l'arrêt d'un certain
        nombre de machines dans un ordre précis, en horaire décalé.
        Cette option est activée par défaut si ctline==halt[@time]
    -n  Désactiver l'incrémentation automatique des heures de planification.
    --add ADELAY
        Spécifier le nombre de minutes entre chaque hôte pour l'incrémentation
        automatique des heures de planification. Par défaut, il y a 1 minute
        entre chaque hôte.
    --us undo-script
        Spécifier le nom du script qui annule la planification. Utiliser ""
        pour désactiver cette fonctionnalité.
    --fake
        Afficher simplement les modifications qui doivent être effectuées.
}}}
