随机时间运行default_task.sh
This commit is contained in:
@ -43,19 +43,11 @@ else
|
|||||||
echo "当前只使用了默认定时任务文件 $DEFAULT_LIST_FILE ..."
|
echo "当前只使用了默认定时任务文件 $DEFAULT_LIST_FILE ..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
##可能存在旧版crontab里面有default_task.sh任务有就直接删除,否则可能会任务重复
|
|
||||||
sed -i "/default_task.sh/d" $mergedListFile
|
|
||||||
|
|
||||||
echo "第3步判断是否配置了默认脚本更新任务..."
|
|
||||||
if [ $(grep -c "docker_entrypoint.sh" $mergedListFile) -eq '0' ]; then
|
|
||||||
echo "合并后的定时任务文件,未包含必须的默认定时任务,增加默认定时任务..."
|
|
||||||
echo -e >>$mergedListFile
|
|
||||||
echo "52 */1 * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1" >>$mergedListFile
|
|
||||||
else
|
|
||||||
echo "已配置默认脚本更新任务。"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "第4步判断是否配置了随即延迟参数..."
|
|
||||||
|
|
||||||
|
echo "第3步判断是否配置了随即延迟参数..."
|
||||||
if [ $RANDOM_DELAY_MAX ]; then
|
if [ $RANDOM_DELAY_MAX ]; then
|
||||||
if [ $RANDOM_DELAY_MAX -ge 1 ]; then
|
if [ $RANDOM_DELAY_MAX -ge 1 ]; then
|
||||||
echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中..."
|
echo "已设置随机延迟为 $RANDOM_DELAY_MAX , 设置延迟任务中..."
|
||||||
@ -65,7 +57,7 @@ else
|
|||||||
echo "未配置随即延迟对应的环境变量,故不设置延迟任务..."
|
echo "未配置随即延迟对应的环境变量,故不设置延迟任务..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "第5步判断是否配置自定义shell执行脚本..."
|
echo "第4步判断是否配置自定义shell执行脚本..."
|
||||||
if [ 0"$CUSTOM_SHELL_FILE" = "0" ]; then
|
if [ 0"$CUSTOM_SHELL_FILE" = "0" ]; then
|
||||||
echo "未配置自定shell脚本文件,跳过执行。"
|
echo "未配置自定shell脚本文件,跳过执行。"
|
||||||
else
|
else
|
||||||
@ -90,7 +82,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "第6步删除不运行的脚本任务..."
|
echo "第5步删除不运行的脚本任务..."
|
||||||
if [ $DO_NOT_RUN_SCRIPTS ]; then
|
if [ $DO_NOT_RUN_SCRIPTS ]; then
|
||||||
echo "您配置了不运行的脚本:$DO_NOT_RUN_SCRIPTS"
|
echo "您配置了不运行的脚本:$DO_NOT_RUN_SCRIPTS"
|
||||||
arr=${DO_NOT_RUN_SCRIPTS//&/ }
|
arr=${DO_NOT_RUN_SCRIPTS//&/ }
|
||||||
@ -101,6 +93,34 @@ if [ $DO_NOT_RUN_SCRIPTS ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "第6步设定下次运行docker_entrypoint.sh时间..."
|
||||||
|
echo "删除原有docker_entrypoint.sh任务"
|
||||||
|
sed -ie '/'docker_entrypoint.sh'/d' ${mergedListFile}
|
||||||
|
|
||||||
|
|
||||||
|
current_min=$(date +%M)
|
||||||
|
echo "当前分钟:${current_min}"
|
||||||
|
|
||||||
|
#当前分钟大于1,则随机一个小于当前分钟的,否则为59
|
||||||
|
if [ $current_min -ge 1 ]; then
|
||||||
|
random_min=$(($RANDOM % $current_min))
|
||||||
|
else
|
||||||
|
random_min=59
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "下次运行的分钟:${random_min}"
|
||||||
|
|
||||||
|
#小时间隔1-3随机
|
||||||
|
random_h=$(($RANDOM % 3+1))
|
||||||
|
|
||||||
|
echo "小时间隔调整为${random_h}"
|
||||||
|
|
||||||
|
echo -e >>$mergedListFile
|
||||||
|
echo "#必须要的默认定时任务请勿删除" >> ${mergedListFile}
|
||||||
|
echo ""${random_min}" */"${random_h}" * * * docker_entrypoint.sh >> /scripts/logs/default_task.log 2>&1" >> ${mergedListFile}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "第7步增加 |ts 任务日志输出时间戳..."
|
echo "第7步增加 |ts 任务日志输出时间戳..."
|
||||||
sed -i "/\( ts\| |ts\|| ts\)/!s/>>/\|ts >>/g" $mergedListFile
|
sed -i "/\( ts\| |ts\|| ts\)/!s/>>/\|ts >>/g" $mergedListFile
|
||||||
|
Reference in New Issue
Block a user