From d40ca863473a881d68618083739ed6e149d32999 Mon Sep 17 00:00:00 2001 From: Jephte CLAIN Date: Wed, 20 Aug 2014 00:13:36 +0400 Subject: [PATCH] =?UTF-8?q?doc=20pour=20future=20impl=C3=A9mentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- uscrontab | 53 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 39 insertions(+), 14 deletions(-) diff --git a/uscrontab b/uscrontab index 0a1acd0..21aefac 100755 --- a/uscrontab +++ b/uscrontab @@ -7,8 +7,8 @@ function display_help() { uecho "$scriptname: lancer une suite de commande en respectant une planification de type cron USAGE - $scriptname [options] [/path/to/crontab] [var=value...] - $scriptname -e [/path/to/crontab] + $scriptname [options] [/path/to/uscrontab] [var=value...] + $scriptname -e [/path/to/uscrontab] $scriptname -l La première forme du script doit normalement être lancé toutes les minutes par @@ -25,15 +25,16 @@ virtuel $USCRONTAB_USER note: le nom virtuel est utilisé pour le verrouillage avec --lock -A chaque lancement du script, le fichier crontab spécifié est examiné pour -déterminer quels scripts doivent être exécutés. Ce fichier est composé de lignes -dans un format particulier, qui sont analysées et traitées dans l'ordre. +A chaque lancement de ce script, le fichier /path/to/uscrontab spécifié est +examiné pour déterminer quels commandes doivent être exécutées. Ce fichier est +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. 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 @@ -126,6 +127,13 @@ Les lignes commençant par # sont des commentaires et sont ignorées command1 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 == 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 peuvent tourner en parallèle. + La fonction elogto() permet de spécifier un fichier vers lequel toutes les + sorties sont redirigées. + OPTIONS -A, --install 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 qui est installée. -R, --uninstall - Désinstaller la planification toutes les minutes du script du crontab de - l'utilisateur. Si l'argument /path/to/crontab est spécifié, cette + Désinstaller la planification toutes les minutes du script de la crontab + 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 générique. -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 - -r, --remove - Supprimer le fichier $USCRONTAB_USERFILE s'il existe - Si l'argument /path/to/crontab est spécifié, il est ignoré. + -a, --add XXX non implémenté + Installer un script uscrontab dans le répertoire approprié. L'argument + 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 Si l'argument /path/to/crontab est spécifié, afficher le contenu de ce fichier. Sinon, lister les contenus des fichiers crontab qui sont @@ -203,6 +223,11 @@ OPTIONS $USCRONTAB_USERDIR -n, --fake 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 --lock LOCKFILE