This commit is contained in:
Jephté Clain 2014-08-19 11:20:02 +04:00
parent cd0bb344d7
commit 5d75e57f54
1 changed files with 19 additions and 12 deletions

View File

@ -15,21 +15,26 @@ La première forme du script doit normalement être lancé toutes les minutes pa
une tâche cron. Utiliser l'option --install pour ajouter automatique la ligne
dans la crontab de l'utilisateur.
Si aucun fichier n'est spécifié, fusionner s'il existe le fichier
Avec la première forme du script, le fichier spécifié est traité. Si aucun
fichier n'est spécifié, fusionner s'il existe le fichier
$USCRONTAB_USERFILE
avec chacun des fichiers du répertoire
$USCRONTAB_USERDIR
puis exécuter le fichier résultat avec le nom virtuel
dans un fichier temporaire, puis exécuter le fichier résultat avec le nom
virtuel
$USCRONTAB_USER
note: le nom virtuel est utilisé pour le verrouillage avec --lock
A chaque lancement du script, il examine quels scripts doivent être exécutés
dans le fichier crontab spécifié. Ce fichier est composé de lignes dans un
format particulier, qui sont analysées et traitées dans l'ordre.
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.
Quelles que soient les lignes qui sont sélectionnées pour le lancement, 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.
Les lignes commençant par # sont des commentaires et sont ignorées
== Définitions de variables et exécution de commandes ==
@ -69,8 +74,8 @@ Les lignes commençant par # sont des commentaires et sont ignorées
var?=default
Les lignes de la forme suivante permettent d'exécuter une commande
quelconque:
Les lignes de la forme suivante permettent d'exécuter une commande qui est
exécutée systématiquement et ignore la planification:
\$one-line-command
@ -174,7 +179,8 @@ 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é,
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.
-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
@ -272,7 +278,7 @@ if [ "$action" == "edit" ]; then
fi
enote "Edition de $crontab"
if [ ! -f "$crontab" ]; then
touch "$crontab"
touch "$crontab" || die
chmod 640 "$crontab"
fi
"${EDITOR:-vi}" "$crontab"
@ -391,9 +397,10 @@ elif [ "$action" == "run" ]; then
echo "$*"
else
edebug "$*"
if [ "${1#check_pidfile }" != "$1" ]; then
# cas particulier, c'est une fonction à exécuter dans le
# contexte courant, et non pas dans un sous-shell
if [ "${1#check_pidfile }" != "$1" -o "${1#remove_pidfile }" != "$1" ]; then
# cas particulier: les fonctions check_pidfile() et
# remove_pidfile() doivent être exécutée dans le contexte
# courant, et non pas dans un sous-shell
eval "$*"; ec=$?
else
(eval "$*"); ec=$?