From 54020ca0dd3ce8e0ef45bd146bcdc0b651accc91 Mon Sep 17 00:00:00 2001 From: whyour Date: Fri, 30 Apr 2021 22:09:54 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E5=88=A0=E9=99=A4=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Dockerfile | 6 ----- docker/docker-entrypoint.sh | 15 ++++++++----- sample/config.sample.sh | 44 ------------------------------------- shell/rmlog.sh | 6 +++-- shell/share.sh | 6 +---- shell/update.sh | 10 ++++----- 6 files changed, 20 insertions(+), 67 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index dc886a41..2a747098 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -30,12 +30,6 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && git clone -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} \ && cd ${QL_DIR} \ && cp -f .env.example .env \ - && ln -sf ${QL_DIR}/shell/task.sh /usr/local/bin/task \ - && ln -sf ${QL_DIR}/shell/update.sh /usr/local/bin/update \ - && ln -sf ${QL_DIR}/shell/rmlog.sh /usr/local/bin/rmlog \ - && ln -sf ${QL_DIR}/shell/notify.sh /usr/local/bin/notify \ - && ln -sf ${QL_DIR}/shell/rebuild.sh /usr/local/bin/rebuild \ - && ln -sf ${QL_DIR}/docker/docker-entrypoint.sh /usr/local/bin/entrypoint \ && chmod 777 ${QL_DIR}/shell/*.sh \ && chmod 777 ${QL_DIR}/docker/*.sh \ && npm install -g pm2 \ diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 34532604..eeed9f50 100644 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -1,11 +1,16 @@ #!/bin/bash set -e -echo -e "======================1. 更新源代码========================\n" -update ql +echo -e "======================1. 初始化命令========================\n" +. ${QL_DIR}/shell/share.sh +link_shell echo -echo -e "======================2. 检测配置文件========================\n" +echo -e "======================2. 更新源代码========================\n" +ql update +echo + +echo -e "======================3. 检测配置文件========================\n" [ ! -d ${QL_DIR}/config ] && mkdir -p ${QL_DIR}/config [ ! -d ${QL_DIR}/log ] && mkdir -p ${QL_DIR}/log [ ! -d ${QL_DIR}/db ] && mkdir -p ${QL_DIR}/db @@ -37,11 +42,11 @@ fi cp -fv ${QL_DIR}/docker/front.conf /etc/nginx/conf.d/front.conf -echo -e "======================3. 启动nginx========================\n" +echo -e "======================4. 启动nginx========================\n" nginx -c /etc/nginx/nginx.conf echo -echo -e "======================4. 启动控制面板========================\n" +echo -e "======================5. 启动控制面板========================\n" pm2 start ${QL_DIR}/build/app.js -n panel echo -e "控制面板启动成功...\n" diff --git a/sample/config.sample.sh b/sample/config.sample.sh index f78d1ef2..919a1d89 100644 --- a/sample/config.sample.sh +++ b/sample/config.sample.sh @@ -32,11 +32,6 @@ AutoDelCron="true" ## 在运行 update 命令时,是否自动增加新的本地定时任务 AutoAddCron="true" - -## 运行 rmlog 命令时删除多久以前的日志,仅能输入正整数 -RmLogDaysAgo="7" - - ## 在运行 task 命令时,随机延迟启动任务的最大延迟时间 ## 如果任务不是必须准点运行的任务,那么给它增加一个随机延迟,由你定义最大延迟时间,单位为秒,如 RandomDelay="300" ,表示任务将在 1-300 秒内随机延迟一个秒数,然后再运行 ## 在crontab.list中,在每小时第0-2分、第30-31分、第59分这几个时间内启动的任务,均算作必须准点运行的任务,在启动这些任务时,即使你定义了RandomDelay,也将准点运行,不启用随机延迟 @@ -47,42 +42,3 @@ RandomDelay="300" ## 如果你自己会写shell脚本,并且希望在每次运行 update 命令时,额外运行你的 shell 脚本,请赋值为 "true" ## 同时,请务必将你的脚本命名为 extra.sh (只能叫这个文件名),放在 config 目录下 EnableExtraShell="" - - -## 启用其他开发者的仓库方式一(选填):完整更新整个仓库,针对同一个仓库,方式一和方式二只能选择一种 -## RepoUrl:仓库地址清单,必须从1开始依次编号 -## RepoBranch:你想使用的分支清单,不指定分支(即使用默认分支)时可以用一对不包含内容的空引号"",编号必须和 OwnRepoUrl 对应。 -## RepoPath:要使用的脚本在仓库哪个路径下,请输入仓库下的相对路径,默认空值""代表仓库根目录,编号必须和 OwnRepoUrl 对应,同一个仓库下不同文件夹之间使用空格分开。如果既包括根目录又包括子目录,填写请见示例中OwnRepoPath3。 -## 所有脚本存放在 own 目录下,三个清单必须一一对应,示例如下: -## RepoUrl1="https://gitee.com/abc/jdtsa.git" -## RepoUrl2="https://github.com/nedcd/jxddfsa.git" -## RepoUrl3="git@github.com:eject/poex.git" -## -## RepoBranch1="" # 代表第1个仓库 https://gitee.com/abc/jdtsa.git 使用 "默认" 分支 -## RepoBranch2="main" # 代表第2个仓库 https://github.com/nedcd/jxddfsa.git 使用 "main" 分支 -## RepoBranch3="master" # 代表第3个仓库 git@github.com:eject/poex.git 使用 "master" 分支 -## -## RepoPath1="" # 代表第1个仓库https://gitee.com/abc/jdtsa.git,你想使用的脚本就在仓库根目录下。 -## RepoPath2="scripts/jd normal" # 代表第2个仓库https://github.com/nedcd/jxddfsa.git,你想使用的脚本在仓库的 scripts/jd 和 normal文件夹下,必须输入相对路径 -## RepoPath3="'' cron" # 代表第3个仓库git@github.com:eject/poex.git,你想使用的脚本在仓库的 根目录 和 cron 文件夹下,必须输入相对路径 - -RepoUrl1="" -RepoUrl2="" - -RepoBranch1="" -RepoBranch2="" - -RepoPath1="" -RepoPath2="" - -## 启用其他开发者的仓库方式二(选填):只下载想要的文件,针对同一个脚本,方式一和方式二建议只选择一种。 -## 请先确认你能正常下载该raw文件才列在下方,无论是github还是gitee,请只填入 raw 文件链接。 -## 一行一个文件下载链接,首尾一对半角括号,示例: -## RawUrl=( -## https://gitee.com/wabdwdd/scipts/raw/master/jd_abc.js -## https://github.com/lonfeg/loon/raw/main/jd_dudi.js -## https://github.com/sunsem/qx/raw/main/z_dida.js -## ) -RawUrl=( - -) \ No newline at end of file diff --git a/shell/rmlog.sh b/shell/rmlog.sh index 5ba7d00b..69dbd310 100755 --- a/shell/rmlog.sh +++ b/shell/rmlog.sh @@ -12,6 +12,8 @@ import_config_no_check rmlog detect_termux detect_macos +days=$1 + ## 删除运行js脚本的旧日志 remove_js_log () { local log_full_path_list=$(ls -l $dir_log/*/*.log | awk '{print $9}') @@ -23,7 +25,7 @@ remove_js_log () { else diff_time=$(($(date +%s) - $(date +%s -d "$log_date"))) fi - [[ $diff_time -gt $((${RmLogDaysAgo} * 86400)) ]] && rm -vf $log + [[ $diff_time -gt $((${days} * 86400)) ]] && rm -vf $log done } @@ -38,7 +40,7 @@ remove_empty_dir () { } ## 运行 -if [[ ${RmLogDaysAgo} ]]; then +if [[ ${days} ]]; then echo -e "查找旧日志文件中...\n" remove_js_log remove_empty_dir diff --git a/shell/share.sh b/shell/share.sh index e33912d2..ab0874e8 100755 --- a/shell/share.sh +++ b/shell/share.sh @@ -35,15 +35,11 @@ var_name=( ## 软连接及其原始文件对应关系 link_name=( task - rmlog - update - rebuild + ql ) original_name=( task.sh - rmlog.sh update.sh - rebuild.sh ) ## 导入配置文件不校验 diff --git a/shell/update.sh b/shell/update.sh index d7b23795..ec0463eb 100755 --- a/shell/update.sh +++ b/shell/update.sh @@ -10,15 +10,12 @@ dir_root=$( send_mark=$dir_shell/send_mark # 导入通用变量与函数 -# . $dir_shell/share.sh -# . $dir_shell/api.sh -. ./shell/share.sh -. ./shell/api.sh +. $dir_shell/share.sh +. $dir_shell/api.sh ## 导入配置文件,检测平台,创建软连接,识别命令,修复配置文件 detect_termux detect_macos -link_shell define_cmd fix_config import_config_no_check "update" @@ -409,6 +406,9 @@ main() { raw) update_raw | tee $log_path ;; + rmlog) + source $dir_shell/rmlog.sh "$p2" | tee $log_path + ;; *) echo -e "命令输入错误...\n" usage