mirror of
https://github.com/whyour/qinglong.git
synced 2025-07-27 14:46:06 +08:00
更新ql raw
This commit is contained in:
parent
e6ff4098c5
commit
f5efad69ee
68
shell/api.sh
68
shell/api.sh
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
get_token() {
|
get_token() {
|
||||||
token=$(cat $file_auth_user | jq -r .token)
|
token=$(cat $file_auth_user | jq -r .token)
|
||||||
}
|
}
|
||||||
|
|
||||||
get_json_value() {
|
get_json_value() {
|
||||||
|
@ -31,40 +31,40 @@ add_cron_api() {
|
||||||
local name=$3
|
local name=$3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local api=$(curl -s "http://localhost:5600/api/crons?t=$currentTimeStamp" \
|
local api=$(curl -s "http://localhost:5600/api/crons?t=$currentTimeStamp" \
|
||||||
-H "Accept: application/json" \
|
-H "Accept: application/json" \
|
||||||
-H "Authorization: Bearer $token" \
|
-H "Authorization: Bearer $token" \
|
||||||
-H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" \
|
-H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" \
|
||||||
-H "Content-Type: application/json;charset=UTF-8" \
|
-H "Content-Type: application/json;charset=UTF-8" \
|
||||||
-H "Origin: http://localhost:5700" \
|
-H "Origin: http://localhost:5700" \
|
||||||
-H "Referer: http://localhost:5700/crontab" \
|
-H "Referer: http://localhost:5700/crontab" \
|
||||||
-H "Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7" \
|
-H "Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7" \
|
||||||
--data-raw "{\"name\":\"$name\",\"command\":\"$command\",\"schedule\":\"$schedule\"}" \
|
--data-raw "{\"name\":\"$name\",\"command\":\"$command\",\"schedule\":\"$schedule\"}" \
|
||||||
--compressed)
|
--compressed)
|
||||||
code=$(echo $api | jq -r .code)
|
code=$(echo $api | jq -r .code)
|
||||||
if [[ $code == 200 ]]; then
|
if [[ $code == 200 ]]; then
|
||||||
echo -e "$name 添加成功"
|
echo -e "$name 添加成功"
|
||||||
else
|
else
|
||||||
echo -e "$name 添加失败"
|
echo -e "$name 添加失败"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
del_cron_api() {
|
del_cron_api() {
|
||||||
local id=$1
|
local id=$1
|
||||||
local currentTimeStamp=$(date +%s)
|
local currentTimeStamp=$(date +%s)
|
||||||
local api=$(curl -s "http://localhost:5600/api/crons/$id?t=$currentTimeStamp" \
|
local api=$(curl -s "http://localhost:5600/api/crons/$id?t=$currentTimeStamp" \
|
||||||
-X 'DELETE' \
|
-X 'DELETE' \
|
||||||
-H "Accept: application/json" \
|
-H "Accept: application/json" \
|
||||||
-H "Authorization: Bearer $token" \
|
-H "Authorization: Bearer $token" \
|
||||||
-H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" \
|
-H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" \
|
||||||
-H "Content-Type: application/json;charset=UTF-8" \
|
-H "Content-Type: application/json;charset=UTF-8" \
|
||||||
-H "Origin: http://localhost:5700" \
|
-H "Origin: http://localhost:5700" \
|
||||||
-H "Referer: http://localhost:5700/crontab" \
|
-H "Referer: http://localhost:5700/crontab" \
|
||||||
-H "Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7")
|
-H "Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7")
|
||||||
code=$(echo $api | jq -r .code)
|
code=$(echo $api | jq -r .code)
|
||||||
if [[ $code == 200 ]]; then
|
if [[ $code == 200 ]]; then
|
||||||
echo -e "$name 删除成功"
|
echo -e "$name 删除成功"
|
||||||
else
|
else
|
||||||
echo -e "$name 删除失败"
|
echo -e "$name 删除失败"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,10 +37,12 @@ list_own_drop=$dir_list_tmp/own_drop.list
|
||||||
link_name=(
|
link_name=(
|
||||||
task
|
task
|
||||||
ql
|
ql
|
||||||
|
notify
|
||||||
)
|
)
|
||||||
original_name=(
|
original_name=(
|
||||||
task.sh
|
task.sh
|
||||||
update.sh
|
update.sh
|
||||||
|
notify.sh
|
||||||
)
|
)
|
||||||
|
|
||||||
## 导入配置文件不校验
|
## 导入配置文件不校验
|
||||||
|
@ -149,6 +151,8 @@ fix_config () {
|
||||||
make_dir $dir_db
|
make_dir $dir_db
|
||||||
make_dir $dir_manual_log
|
make_dir $dir_manual_log
|
||||||
make_dir $dir_scripts
|
make_dir $dir_scripts
|
||||||
|
make_dir $dir_list_tmp
|
||||||
|
make_dir $dir_raw
|
||||||
|
|
||||||
if [ ! -s $file_config_user ]; then
|
if [ ! -s $file_config_user ]; then
|
||||||
echo -e "复制一份 $file_config_sample 为 $file_config_user,随后请按注释编辑你的配置文件:$file_config_user\n"
|
echo -e "复制一份 $file_config_sample 为 $file_config_user,随后请按注释编辑你的配置文件:$file_config_user\n"
|
||||||
|
|
|
@ -49,7 +49,6 @@ git_pull_scripts() {
|
||||||
|
|
||||||
## 检测cron的差异,$1:脚本清单文件路径,$2:cron任务清单文件路径,$3:增加任务清单文件路径,$4:删除任务清单文件路径
|
## 检测cron的差异,$1:脚本清单文件路径,$2:cron任务清单文件路径,$3:增加任务清单文件路径,$4:删除任务清单文件路径
|
||||||
diff_cron() {
|
diff_cron() {
|
||||||
make_dir $dir_list_tmp
|
|
||||||
local list_scripts="$1"
|
local list_scripts="$1"
|
||||||
local list_task="$2"
|
local list_task="$2"
|
||||||
local list_add="$3"
|
local list_add="$3"
|
||||||
|
@ -104,21 +103,27 @@ output_list_add_drop() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
## 自动删除失效的脚本与定时任务,需要:1.AutoDelCron/AutoDelCron 设置为 true;2.正常更新js脚本,没有报错;3.存在失效任务;4.crontab.list存在并且不为空
|
## 自动删除失效的脚本与定时任务,需要:1.AutoDelCron 设置为 true;2.正常更新js脚本,没有报错;3.存在失效任务
|
||||||
## $1:失效任务清单文件路径
|
## $1:失效任务清单文件路径
|
||||||
del_cron() {
|
del_cron() {
|
||||||
local list_drop=$1
|
local list_drop=$1
|
||||||
|
local author=$2
|
||||||
local detail detail2
|
local detail detail2
|
||||||
if [ -s $list_drop ] && [ -s $list_crontab_user ]; then
|
detail=$(cat $list_drop)
|
||||||
detail=$(cat $list_drop)
|
echo -e "开始尝试自动删除失效的定时任务...\n"
|
||||||
echo -e "开始尝试自动删除失效的定时任务...\n"
|
for cron in $detail; do
|
||||||
for cron in $detail; do
|
local id=$(cat $list_crontab_user | grep -E "$cmd_task $cron$" | perl -pe "s|.*ID=(.*) $cmd_task $cron$|\1|")
|
||||||
local id=$(cat $list_crontab_user | grep -E "$cmd_task $cron$" | perl -pe "s|.*ID=(.*) $cmd_task $cron$|\1|")
|
del_cron_api "$id"
|
||||||
del_cron_api "$id"
|
rm -f "$dir_scripts/${cron}"
|
||||||
done
|
done
|
||||||
detail2=$(echo $detail | perl -pe "s| |\\\n|g")
|
exit_status=$?
|
||||||
|
detail2=$(echo $detail | perl -pe "s| |\\\n|g")
|
||||||
|
if [[ $exit_status -eq 0 ]]; then
|
||||||
echo -e "成功删除失效的的定时任务...\n"
|
echo -e "成功删除失效的的定时任务...\n"
|
||||||
notify "删除失效任务通知" "成功删除以下失效的定时任务:\n$detail2"
|
notify "删除失效任务通知" "成功删除以下失效的定时任务:\n$detail2"
|
||||||
|
else
|
||||||
|
echo -e "删除定时任务出错,请手动删除...\n"
|
||||||
|
notify "删除任务失败通知" "尝试自动删除以下定时任务出错,请手动删除:\n$detail2"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,13 +143,14 @@ add_cron() {
|
||||||
print if /.*([\d\*]*[\*-\/,\d]*[\d\*] ){4}[\d\*]*[\*-\/,\d]*[\d\*]( |,|\").*$file_name/
|
print if /.*([\d\*]*[\*-\/,\d]*[\d\*] ){4}[\d\*]*[\*-\/,\d]*[\d\*]( |,|\").*$file_name/
|
||||||
}" $file |
|
}" $file |
|
||||||
perl -pe "{
|
perl -pe "{
|
||||||
s|[^\d\*]*(([\d\*]*[\*-\/,\d]*[\d\*] ){4}[\d\*]*[\*-\/,\d]*[\d\*])( \|,\|\").*/?$file_name.*|\1:$cmd_task $file|g;
|
s|[^\d\*]*(([\d\*]*[\*-\/,\d]*[\d\*] ){4}[\d\*]*[\*-\/,\d]*[\d\*])( \|,\|\").*/?$file_name.*|\1|g;
|
||||||
s| | |g
|
s| | |g
|
||||||
}" | sort -u | head -1
|
}" | sort -u | head -1
|
||||||
)
|
)
|
||||||
cron_name=$(grep "new Env" $file | awk -F "'|\"" '{print $2}' | head -1)
|
cron_name=$(grep "new Env" $file | awk -F "'|\"" '{print $2}' | head -1)
|
||||||
[[ -z $cron_name ]] && cron_name="$file_name"
|
[[ -z $cron_name ]] && cron_name="$file_name"
|
||||||
add_cron_api "$cron_line:$cron_name"
|
[[ -z $cron_line ]] && cron_line="0 6 * * *"
|
||||||
|
add_cron_api "$cron_line:$cmd_task $file:$cron_name"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
exit_status=$?
|
exit_status=$?
|
||||||
|
@ -190,21 +196,31 @@ update_repo() {
|
||||||
|
|
||||||
## 更新所有 raw 文件
|
## 更新所有 raw 文件
|
||||||
update_raw() {
|
update_raw() {
|
||||||
if [[ ${#RawUrl[*]} -gt 0 ]]; then
|
echo -e "--------------------------------------------------------------\n"
|
||||||
echo -e "--------------------------------------------------------------\n"
|
local raw_url="$1"
|
||||||
make_dir $dir_raw
|
raw_file_name=$(echo ${raw_url} | awk -F "/" '{print $NF}')
|
||||||
for ((i = 0; i < ${#RawUrl[*]}; i++)); do
|
echo -e "开始下载:${raw_url} \n\n保存路径:$dir_raw/${raw_file_name}\n"
|
||||||
raw_file_name[$i]=$(echo ${RawUrl[i]} | awk -F "/" '{print $NF}')
|
wget -q --no-check-certificate -O "$dir_raw/${raw_file_name}.new" ${raw_url}
|
||||||
echo -e "开始下载:${RawUrl[i]} \n\n保存路径:$dir_raw/${raw_file_name[$i]}\n"
|
if [[ $? -eq 0 ]]; then
|
||||||
wget -q --no-check-certificate -O "$dir_raw/${raw_file_name[$i]}.new" ${RawUrl[i]}
|
mv "$dir_raw/${raw_file_name}.new" "$dir_raw/${raw_file_name}"
|
||||||
if [[ $? -eq 0 ]]; then
|
echo -e "下载 ${raw_file_name} 成功...\n"
|
||||||
mv "$dir_raw/${raw_file_name[$i]}.new" "$dir_raw/${raw_file_name[$i]}"
|
cp -f $raw_file_name $dir_scripts/raw_${filename}
|
||||||
echo -e "下载 ${raw_file_name[$i]} 成功...\n"
|
cron_line=$(
|
||||||
else
|
perl -ne "{
|
||||||
echo -e "下载 ${raw_file_name[$i]} 失败,保留之前正常下载的版本...\n"
|
print if /.*([\d\*]*[\*-\/,\d]*[\d\*] ){4}[\d\*]*[\*-\/,\d]*[\d\*]( |,|\").*$raw_file_name/
|
||||||
[ -f "$dir_raw/${raw_file_name[$i]}.new" ] && rm -f "$dir_raw/${raw_file_name[$i]}.new"
|
}" $raw_file_name |
|
||||||
fi
|
perl -pe "{
|
||||||
done
|
s|[^\d\*]*(([\d\*]*[\*-\/,\d]*[\d\*] ){4}[\d\*]*[\*-\/,\d]*[\d\*])( \|,\|\").*/?$raw_file_name.*|\1|g;
|
||||||
|
s| | |g
|
||||||
|
}" | sort -u | head -1
|
||||||
|
)
|
||||||
|
cron_name=$(grep "new Env" $raw_file_name | awk -F "'|\"" '{print $2}' | head -1)
|
||||||
|
[[ -z $cron_name ]] && cron_name="$raw_file_name"
|
||||||
|
[[ -z $cron_line ]] && cron_line="0 6 * * *"
|
||||||
|
add_cron_api "$cron_line:$cmd_task raw_$raw_file_name:$cron_name"
|
||||||
|
else
|
||||||
|
echo -e "下载 ${raw_file_name} 失败,保留之前正常下载的版本...\n"
|
||||||
|
[ -f "$dir_raw/${raw_file_name}.new" ] && rm -f "$dir_raw/${raw_file_name}.new"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -272,7 +288,9 @@ diff_scripts() {
|
||||||
|
|
||||||
if [ -s $list_own_drop ]; then
|
if [ -s $list_own_drop ]; then
|
||||||
output_list_add_drop $list_own_drop "失效"
|
output_list_add_drop $list_own_drop "失效"
|
||||||
[[ ${AutoDelCron} == true ]] && del_cron $list_own_drop
|
if [[ ${AutoDelCron} == true ]]; then
|
||||||
|
del_cron $list_own_drop $2
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [ -s $list_own_add ]; then
|
if [ -s $list_own_add ]; then
|
||||||
output_list_add_drop $list_own_add "新"
|
output_list_add_drop $list_own_add "新"
|
||||||
|
@ -328,7 +346,7 @@ main() {
|
||||||
update_repo "$p2" "$p3" "$p4" | tee $log_path
|
update_repo "$p2" "$p3" "$p4" | tee $log_path
|
||||||
;;
|
;;
|
||||||
raw)
|
raw)
|
||||||
update_raw | tee $log_path
|
update_raw "$p2" | tee $log_path
|
||||||
;;
|
;;
|
||||||
rmlog)
|
rmlog)
|
||||||
source $dir_shell/rmlog.sh "$p2" | tee $log_path
|
source $dir_shell/rmlog.sh "$p2" | tee $log_path
|
||||||
|
|
Loading…
Reference in New Issue
Block a user