uscrontab: ajout des options -@, -H, -M
This commit is contained in:
parent
52e838e383
commit
a66c0c231f
35
uscrontab
35
uscrontab
|
@ -286,6 +286,14 @@ OPTIONS AVANCEES
|
|||
référence. Il faut respecter le format, sinon les résultats ne sont pas
|
||||
garantis. Le mieux est de reprendre le résultat de l'option --show-ctnow
|
||||
en le modifiant un peu si nécessaire.
|
||||
-@, --hm H[:M]
|
||||
-H, --h00
|
||||
-M, --h30
|
||||
Options pour simplifier l'utilisation de --force-ctnow. Supposons que
|
||||
--show-ctnow affiche 'Y X day mon dow', alors:
|
||||
-@ H:M | est équivalent à | --force-ctnow 'M H day mon dow'
|
||||
-H | '' | --force-ctnow '0 X day mon dow'
|
||||
-M | '' | --force-ctnow '30 X day mon dow'
|
||||
-G, --any-ctnow
|
||||
Pour le développement ou des tests, lancer toutes les commandes dans
|
||||
l'ordre sans tenir compte de l'heure de référence. Cette commande ne
|
||||
|
@ -345,6 +353,7 @@ lockfile=auto
|
|||
lockdelay=
|
||||
fake=
|
||||
continuous=
|
||||
force_ctnow=
|
||||
pause=
|
||||
force=
|
||||
parse_opts "${PRETTYOPTS[@]}" \
|
||||
|
@ -367,6 +376,9 @@ parse_opts "${PRETTYOPTS[@]}" \
|
|||
-k:,--stop: USCRONTAB_STOPEC= \
|
||||
--show-ctnow action=show-ctnow \
|
||||
--force-ctnow: __CTRESOLVE_CTNOW= \
|
||||
-@:,--hm: force_ctnow= \
|
||||
-H,--h00 force_ctnow=h00 \
|
||||
-M,--h30 force_ctnow=h30 \
|
||||
-G,--any-ctnow __CTRESOLVE_CTNOW="**ANY**" \
|
||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||
|
||||
|
@ -436,10 +448,6 @@ elif [ "$action" == "remove" ]; then
|
|||
exit 0
|
||||
|
||||
elif [ "$action" == "list" ]; then
|
||||
if check_pause "$pausefile" "$now"; then
|
||||
ewarn "En pause. Réactiver avec $scriptname -Y"
|
||||
fi
|
||||
|
||||
if [ -n "$uscrontab" ]; then
|
||||
uscrontab="$(abspath "$uscrontab")"
|
||||
array_from_lines ctfiles "$(crontab -l 2>/dev/null | awkrun script="$script" uscrontab="$uscrontab" '$6 == script && $7 == uscrontab { print $7 }')"
|
||||
|
@ -472,6 +480,10 @@ elif [ "$action" == "list" ]; then
|
|||
etitle "$(ppath "$ctfile")" \
|
||||
cat "$ctfile"
|
||||
done
|
||||
|
||||
if check_pause "$pausefile" "$now"; then
|
||||
ewarn "En pause. Réactiver avec $scriptname -Y"
|
||||
fi
|
||||
exit $r
|
||||
|
||||
elif [ "$action" == "show-ctnow" ]; then
|
||||
|
@ -604,6 +616,21 @@ elif [ "$action" == "run" ]; then
|
|||
die "$*"
|
||||
}
|
||||
|
||||
if [ -n "$force_ctnow" ]; then
|
||||
ctnow=($(ctnow "$now"))
|
||||
case "$force_ctnow" in
|
||||
h00) ctnow[0]=0;;
|
||||
h30) ctnow[0]=30;;
|
||||
*)
|
||||
force_ctnow="${force_ctnow//./:}" # autoriser H.M en plus de H:M
|
||||
splitpair "$force_ctnow" h m
|
||||
ctnow[0]="${m:-0}"
|
||||
ctnow[1]="$h"
|
||||
;;
|
||||
esac
|
||||
__CTRESOLVE_CTNOW="${ctnow[*]}"
|
||||
fi
|
||||
|
||||
__ctscript="$(ctresolve <"$uscrontab")"
|
||||
ec=0
|
||||
edebug "$__ctscript"
|
||||
|
|
Loading…
Reference in New Issue