58 lines
1.9 KiB
Bash
58 lines
1.9 KiB
Bash
#!/bin/sh
|
||
set -e
|
||
|
||
#获取配置的自定义参数
|
||
if [ -n "$1" ]; then
|
||
run_cmd=$1
|
||
fi
|
||
|
||
(
|
||
if [ -f "/scripts/logs/pull.lock" ]; then
|
||
echo "存在更新锁定文件,跳过git pull操作..."
|
||
else
|
||
echo "设定远程仓库地址..."
|
||
cd /scripts
|
||
git remote set-url origin "$REPO_URL"
|
||
git reset --hard
|
||
echo "git pull拉取最新代码..."
|
||
git -C /scripts pull --rebase
|
||
echo "npm install 安装最新依赖"
|
||
npm install --prefix /scripts
|
||
fi
|
||
) || exit 0
|
||
|
||
# 默认启动telegram交互机器人的条件
|
||
# 确认容器启动时调用的docker_entrypoint.sh
|
||
# 必须配置TG_BOT_TOKEN、TG_USER_ID,
|
||
# 且未配置DISABLE_BOT_COMMAND禁用交互,
|
||
# 且未配置自定义TG_API_HOST,因为配置了该变量,说明该容器环境可能并能科学的连到telegram服务器
|
||
if [[ -n "$run_cmd" && -n "$TG_BOT_TOKEN" && -n "$TG_USER_ID" && -z "$DISABLE_BOT_COMMAND" && -z "$TG_API_HOST" ]]; then
|
||
ENABLE_BOT_COMMAND=True
|
||
else
|
||
ENABLE_BOT_COMMAND=False
|
||
fi
|
||
|
||
echo "------------------------------------------------执行定时任务任务shell脚本------------------------------------------------"
|
||
#测试
|
||
# sh /jd_docker/docker/default_task.sh "$ENABLE_BOT_COMMAND" "$run_cmd"
|
||
#合并
|
||
sh /scripts/docker/default_task.sh "$ENABLE_BOT_COMMAND" "$run_cmd"
|
||
echo "--------------------------------------------------默认定时任务执行完成---------------------------------------------------"
|
||
|
||
if [ -n "$run_cmd" ]; then
|
||
# 增加一层jd_bot指令已经正确安装成功校验
|
||
# 以上条件都满足后会启动jd_bot交互,否还是按照以前的模式启动,最大程度避免现有用户改动调整
|
||
if [[ "$ENABLE_BOT_COMMAND" == "True" && -f /usr/bin/jd_bot ]]; then
|
||
echo "启动crontab定时任务主进程..."
|
||
crond
|
||
echo "启动telegram bot指令交主进程..."
|
||
jd_bot
|
||
else
|
||
echo "启动crontab定时任务主进程..."
|
||
crond -f
|
||
fi
|
||
|
||
else
|
||
echo "默认定时任务执行结束。"
|
||
fi
|