# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
##@creator: jclain
##@created: 27/04/2016 03:18
##@modifier: jclain
##@changecount: 1
##@tags:
##@title: rruns

{{{
rruns: Déploiement distant avec runs

USAGE
    rruns [-h hosts] [-T tmproot] rscriptname name=value...
    rruns [-h hosts] [-T tmproot] @recipe name=value...
    rruns [-h hosts] [-T tmproot] -f rscript name=value...
    rruns [-h hosts] [-T tmproot] -r recipe name=value...

Lancer ce script sans argument (hors options) est équivalent à le lancer avec
l'argument @default

OPTIONS
    -C  Ne pas faire le déploiement. Configurer uniquement la connexion par clé
        sur les hôtes distants spécifiés pour le user spécifié. Il faut pouvoir
        se connecter par mot de passe pour configurer la connexion par clé.
        Si l'on veut configurer la connexion par clé pour le user root, mais que
        ce n'est pas possible de se connecter par mot de passe avec le user root
        sur l'hôte distant, et qu'il existe un user sudoer sur l'hôte distant,
        il est possible de faire la configuration avec '--configure root'. La
        commande serait alors
            rruns -h user@host --configure root
    -T tmproot
        Spécifier le répertoire temporaire sur l'hôte distant, comme par exemple
        /var/tmp. Cette option est utile pour les vservers, qui ont par défaut
        un /tmp minuscule de 16 Mo.
    -S ssh
        Spécifier le programme à utiliser pour la connection par ssh.
    -h host
    -h @hostsfile
        Spécifier un ou plusieurs hôtes sur lequels faire le déploiement. Pour
        spécifier plusieurs hôtes, il est possible d'utiliser plusieurs fois
        l'option -h, ou spécifier en une seule fois plusieurs hôtes en les
        séparant par un espace ou le caractère ':', e.g. 'host1 host2' ou
        'host1:host2'. Si la spécification contient les caractères { et },
        l'expansion est effectuée, e.g
            -h 'root@{host1,host2}.univ.run'
        Par défaut, la connexion sur l'hôte distant se fait avec l'utilisateur
        root. Il est possible de spécifier un autre utilisateur avec la syntaxe
        user@host, e.g -h user@host
        La forme @hostsfile permet de lire la liste des hôtes depuis le fichier
        hostsfile, à raison d'un hôte par ligne.
        Si cette option n'est pas spécifiée, et que le répertoire courant est
        dans un des répertoires de $RUNSHOSTSPATH, sélectionner l'hôte
        correspondant. Sinon, l'utilisateur doit saisir l'hôte distant de façon
        interactive.
    -f RSCRIPT
        Lancer le script individuel spécifié au lieu de chercher dans les
        répertoires $RUNS{SCRIPTS,HOSTS}PATH
    -r RECIPE
        Lancer les scripts spécifiés dans le fichier de recettes individuel
        spécifié.
    -z  Forcer la réinstallation des scripts qui se basent sur shouldrun/setdone
    -o OUTPUT
        Générer l'archive à lancer sur l'hôte distant au lieu de faire le
        déploiement. Si plusieurs hôtes sont spécifiés, OUTPUT est considéré
        comme un nom de base auquel est ajouté le nom de l'hôte sur lequel
        l'archive doit être déployée.
    --init
    --no-init
        Forcer (resp. empêcher) la création des répertoires d'hôte correspondant
        aux hôtes spécifiés. Par défaut, la création des répertoires d'hôte est
        effectuée uniquement si ce script est lancé sans argument.
    --sysinfos
        Après un déploiement réussi sur l'hôte distant, inscrire si ce n'est
        déjà fait le résultat de la commande usysinfos dans le fichier
        sysinfos.conf du répertoire d'hôte.
        Cette option est automatiquement activée si ce script est lancé sans
        argument (hors options).
}}}
