diff --git a/CHANGES.txt b/CHANGES.txt index 77e5e8b..4fc5683 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,8 @@ +## Version 2.22.0 du 07/12/2015-19:05 + +dbc4d9a uscrontab: ne pas afficher plusieurs fois un même message quand le verrou est posé. n'afficher le message sur la pause qu'avec un tty +9821d20 ajouter le lien vers cgilsxml.py + ## Version 2.21.0 du 07/12/2015-15:12 d7b468d cgilsxml: ajouter les variables dlname, size, Y, m, d, H, M, S. maj doc diff --git a/VERSION.txt b/VERSION.txt index db65e21..f48f82f 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -2.21.0 +2.22.0 diff --git a/lib/uinst/conf b/lib/uinst/conf index 0cf299a..7368b8a 100644 --- a/lib/uinst/conf +++ b/lib/uinst/conf @@ -19,6 +19,7 @@ for i in plver plbck uencdetect urandomize umail uxpath wofixsql; do ln -s lib/pywrapper "$i" done ln -s lib/ulib/support/cgiupload.py +ln -s lib/ulib/support/cgilsxml.py # liens pour les scripts shell for i in cg cgs; do diff --git a/uscrontab b/uscrontab index 06a9092..fb8af9e 100755 --- a/uscrontab +++ b/uscrontab @@ -494,7 +494,7 @@ elif [ "$action" == "run" ]; then # ne pas tenir compte de l'état de pause : elif check_pause "$pausefile" "$now"; then - ewarn "En pause. Réactiver avec $scriptname -Y" + isatty && ewarn "En pause. Réactiver avec $scriptname -Y" ac_clean "$lockfile" exit 0 elif [ -f "$pausefile" ]; then @@ -503,6 +503,7 @@ elif [ "$action" == "run" ]; then if [ -n "$uscrontab" ]; then default_lockfile="/var/run/$scriptname$uscrontab.lock" + lockdesc="$scriptname $uscrontab" else set_usercrontabs usercrontabs ac_set_tmpfile uscrontab @@ -511,6 +512,7 @@ elif [ "$action" == "run" ]; then cat "$usercrontab" >>"$uscrontab" done default_lockfile="/var/run/$scriptname$USCRONTAB_USER.lock" + lockdesc="$scriptname $USCRONTAB_USER" fi if [ "$lockfile" == auto ]; then @@ -524,9 +526,7 @@ elif [ "$action" == "run" ]; then [ -n "$lockdelay" ] || lockdelay="$USCRONTAB_LOCKDELAY" if [ -n "$lockfile" ]; then - lockwarn="${lockfile%.lock}.lockwarn" - autoclean "$lockwarn" - + lastmsgfile="${lockfile%.lock}.lastmsg" retry=1 while [ -n "$retry" ]; do case "$(lf_trylock -h "$lockdelay" "$lockfile")" in @@ -535,13 +535,16 @@ elif [ "$action" == "run" ]; then exit 0 ;; stale) - msg="Un verrou sur '$scriptname $uscrontab' est posé depuis plus de $lockdelay heures. Veuillez faire vos vérification et supprimer le cas échéant le fichier $lockfile" + msg="Un verrou sur '$lockdesc' est posé depuis plus de $lockdelay heures. Veuillez faire vos vérification et supprimer le cas échéant le fichier $lockfile" + lastmsg= + [ -f "$lastmsgfile" ] && lastmsg="$(<"$lastmsgfile")" || lastmsg= + logger -p cron.warn -t "$scriptname" -- "$msg" - if [ -f "$lockwarn" ]; then - edebug "$msg" - else - touch "$lockwarn" + if [ "$msg" != "$lastmsg" ]; then ewarn "$msg" + echo "$msg" >"$lastmsgfile" + else + edebug "$msg" fi exit 1 ;; @@ -550,7 +553,7 @@ elif [ "$action" == "run" ]; then esac done - ac_clean "$lockwarn" + rm -f "$lastmsgfile" 2>/dev/null autoclean "$lockfile" fi