doc pour future implémentation

This commit is contained in:
Jephté Clain 2014-08-20 00:13:36 +04:00
parent 1fe49ae1f9
commit d40ca86347
1 changed files with 39 additions and 14 deletions

View File

@ -7,8 +7,8 @@ function display_help() {
uecho "$scriptname: lancer une suite de commande en respectant une planification de type cron uecho "$scriptname: lancer une suite de commande en respectant une planification de type cron
USAGE USAGE
$scriptname [options] [/path/to/crontab] [var=value...] $scriptname [options] [/path/to/uscrontab] [var=value...]
$scriptname -e [/path/to/crontab] $scriptname -e [/path/to/uscrontab]
$scriptname -l $scriptname -l
La première forme du script doit normalement être lancé toutes les minutes par La première forme du script doit normalement être lancé toutes les minutes par
@ -25,15 +25,16 @@ virtuel
$USCRONTAB_USER $USCRONTAB_USER
note: le nom virtuel est utilisé pour le verrouillage avec --lock note: le nom virtuel est utilisé pour le verrouillage avec --lock
A chaque lancement du script, le fichier crontab spécifié est examiné pour A chaque lancement de ce script, le fichier /path/to/uscrontab spécifié est
déterminer quels scripts doivent être exécutés. Ce fichier est composé de lignes examiné pour déterminer quels commandes doivent être exécutées. Ce fichier est
dans un format particulier, qui sont analysées et traitées dans l'ordre. composé de lignes dans un format particulier, qui sont analysées et traitées
dans l'ordre.
Quelles que soient les lignes qui sont sélectionnées pour le lancement, elles Quelles que soient les lignes qui sont sélectionnées pour l'exécution, elles
sont garanties de s'exécuter dans l'ordre du fichier, l'une après l'autre. sont garanties de s'exécuter dans l'ordre du fichier, l'une après l'autre.
Les définitions var=value mentionnées sur la ligne de commande sont des Les définitions var=value mentionnées sur la ligne de commande sont des
définitions de variables à effectuer avant de lancer les scripts. définitions de variables à effectuer avant de lancer les commandes.
Les lignes commençant par # sont des commentaires et sont ignorées Les lignes commençant par # sont des commentaires et sont ignorées
@ -126,6 +127,13 @@ Les lignes commençant par # sont des commentaires et sont ignorées
command1 command1
command2 command2
Les deux formats peuvent être utilisés ensemble. Par exemple les lignes
suivantes exécutent command1 et command2 toutes les heures ET à 1h05:
0 * * * *
5 1 * * * command1
command2
== Fonctions disponibles == == Fonctions disponibles ==
La fonction check_pidfile() est disponible, et permet de vérifier qu'une La fonction check_pidfile() est disponible, et permet de vérifier qu'une
@ -175,23 +183,35 @@ Les lignes commençant par # sont des commentaires et sont ignorées
pendant que script2 tourne. Par contre, plusieurs occurences de script3 pendant que script2 tourne. Par contre, plusieurs occurences de script3
peuvent tourner en parallèle. peuvent tourner en parallèle.
La fonction elogto() permet de spécifier un fichier vers lequel toutes les
sorties sont redirigées.
OPTIONS OPTIONS
-A, --install -A, --install
Installer une planification toutes les minutes du script dans la crontab Installer une planification toutes les minutes du script dans la crontab
de l'utilisateur. Si l'argument /path/to/crontab n'est pas spécifié, de l'utilisateur. Si l'argument /path/to/uscrontab n'est pas spécifié,
c'est une planification générique qui exécute les fichiers par défaut c'est une planification générique qui exécute les fichiers par défaut
qui est installée. qui est installée.
-R, --uninstall -R, --uninstall
Désinstaller la planification toutes les minutes du script du crontab de Désinstaller la planification toutes les minutes du script de la crontab
l'utilisateur. Si l'argument /path/to/crontab est spécifié, cette de l'utilisateur. Si l'argument /path/to/uscrontab est spécifié, cette
instance est désinstallée. Sinon, ne désinstaller que la planification instance est désinstallée. Sinon, ne désinstaller que la planification
générique. générique.
-e, --edit -e, --edit
Lancer un editeur pour modifier la crontab spécifiée. Si aucun fichier Lancer un editeur pour modifier l'uscrontab spécifiée. Si aucun fichier
n'est spécifié, éditer $USCRONTAB_USERFILE n'est spécifié, éditer $USCRONTAB_USERFILE
-r, --remove -a, --add XXX non implémenté
Supprimer le fichier $USCRONTAB_USERFILE s'il existe Installer un script uscrontab dans le répertoire approprié. L'argument
Si l'argument /path/to/crontab est spécifié, il est ignoré. doit être de la forme [[name:]/path/to/uscrontab]
Si name n'est pas spécifié, le nom de base du fichier spécifié est
utilisé. Si name est vide ou vaut \$USER (soit $USER en l'occurence),
copier le fichier spécifié vers le chemin $USCRONTAB_USERFILE
Sinon, copier le fichier spécifié vers $USCRONTAB_USERDIR/name
-r, --remove XXX non implémenté
Supprimer le script uscrontab spécifié. L'argument doit être le nom du
script à supprimer. Si l'argument n'est pas spécifié ou vaut \$USER
(soit $USER en l'occurence), supprimer le fichier $USCRONTAB_USERFILE
s'il existe
-l, --list -l, --list
Si l'argument /path/to/crontab est spécifié, afficher le contenu de ce Si l'argument /path/to/crontab est spécifié, afficher le contenu de ce
fichier. Sinon, lister les contenus des fichiers crontab qui sont fichier. Sinon, lister les contenus des fichiers crontab qui sont
@ -203,6 +223,11 @@ OPTIONS
$USCRONTAB_USERDIR $USCRONTAB_USERDIR
-n, --fake -n, --fake
Afficher au lieu de les exécuter les commandes qui doivent être lancées Afficher au lieu de les exécuter les commandes qui doivent être lancées
--show-ctnow XXX non implémenté
Afficher l'heure de référence au format crontab 'min hou day mon dow'
--force-ctnow 'min hou day mon dow' XXX non implémenté
Pour le développement, forcer la valeur de l'heure de référence. Il faut
respecter le format, sinon les résultats ne sont pas garantis.
OPTIONS AVANCEES OPTIONS AVANCEES
--lock LOCKFILE --lock LOCKFILE