Fix cron expression stepping

This commit is contained in:
Dave Conroy
2023-11-08 07:43:37 -08:00
parent f5b92854da
commit 633cc8410e

View File

@@ -1557,8 +1557,10 @@ timer() {
expression_step=${expression##*\/} expression_step=${expression##*\/}
expression_number=${expression%%\/*} expression_number=${expression%%\/*}
validate_temp="" validate_temp=""
local expression_start= local expression_start=
local expression_end= local expression_end=
if [ "${expression_number}" = "#" ]; then if [ "${expression_number}" = "#" ]; then
expression_start=0 expression_start=0
expression_end="${2}" expression_end="${2}"
@@ -1571,7 +1573,7 @@ timer() {
if [ "${expression_step}" != "${expression}" ]; then if [ "${expression_step}" != "${expression}" ]; then
for step in ${validate_temp}; do for step in ${validate_temp}; do
if [ $( (( step - expression_start ) % expression_step )) -eq 0 ]; then if [ $(( ( step - expression_start ) % expression_step )) -eq 0 ]; then
validate_all="$validate_all ${step}" validate_all="$validate_all ${step}"
fi fi
done done
@@ -1580,7 +1582,7 @@ timer() {
fi fi
done done
validate_all=$(echo $validate_all | tr ' ' '\n' | sort -n -u | tr '\n' ' ') validate_all=$(echo "${validate_all}" | tr ' ' '\n' | sort -n -u | tr '\n' ' ')
for entry in $validate_all; do for entry in $validate_all; do
if [ "${entry}" -ge "${3}" ]; then if [ "${entry}" -ge "${3}" ]; then
echo "${entry}" echo "${entry}"