Merge branch 'fix/__cron' into 'master'

[__cron] Fix cronjob removal if `is` and `should` don't match

See merge request ungleich-public/cdist!841
This commit is contained in:
poljakowski 2020-02-15 12:16:58 +01:00
commit b898412faf
8 changed files with 27 additions and 8 deletions

View file

@ -31,24 +31,28 @@ if [ -f "$__object/parameter/raw" ]; then
elif [ -f "$__object/parameter/raw_command" ]; then elif [ -f "$__object/parameter/raw_command" ]; then
entry="$command" entry="$command"
else else
minute="$(cat "$__object/parameter/minute" 2>/dev/null || echo "*")" minute="$(cat "$__object/parameter/minute")"
hour="$(cat "$__object/parameter/hour" 2>/dev/null || echo "*")" hour="$(cat "$__object/parameter/hour")"
day_of_month="$(cat "$__object/parameter/day_of_month" 2>/dev/null || echo "*")" day_of_month="$(cat "$__object/parameter/day_of_month")"
month="$(cat "$__object/parameter/month" 2>/dev/null || echo "*")" month="$(cat "$__object/parameter/month")"
day_of_week="$(cat "$__object/parameter/day_of_week" 2>/dev/null || echo "*")" day_of_week="$(cat "$__object/parameter/day_of_week")"
entry="$minute $hour $day_of_month $month $day_of_week $command # $name" entry="$minute $hour $day_of_month $month $day_of_week $command # $name"
fi fi
mkdir "$__object/files" mkdir "$__object/files"
echo "$entry" > "$__object/files/entry" echo "$entry" > "$__object/files/entry"
if diff -q "$__object/files/entry" "$__object/explorer/entry" >/dev/null; then if [ -s "$__object/explorer/entry" ]; then
if diff -q "$__object/files/entry" "$__object/explorer/entry" >/dev/null; then
state_is=present state_is=present
else
state_is=modified
fi
else else
state_is=absent state_is=absent
fi fi
state_should="$(cat "$__object/parameter/state" 2>/dev/null || echo "present")" state_should="$(cat "$__object/parameter/state")"
[ "$state_is" = "$state_should" ] && exit 0 [ "$state_is" = "$state_should" ] && exit 0

View file

@ -22,3 +22,12 @@ if [ -f "$__object/parameter/raw" ] && [ -f "$__object/parameter/raw_command" ];
echo "ERROR: both raw and raw_command specified" >&2 echo "ERROR: both raw and raw_command specified" >&2
exit 1 exit 1
fi fi
case "$(cat "$__object/parameter/state")" in
present) ;;
absent) ;;
*)
echo "ERROR: unkown cron state" >&2
exit 2
esac

View file

@ -0,0 +1 @@
*

View file

@ -0,0 +1 @@
*

View file

@ -0,0 +1 @@
*

View file

@ -0,0 +1 @@
*

View file

@ -0,0 +1 @@
*

View file

@ -0,0 +1 @@
present