yydspure/docker/docker_entrypoint.sh

58 lines
1.9 KiB
Bash
Raw Permalink Normal View History

2022-07-28 21:53:26 +08:00
#!/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