修复添加单个任务

This commit is contained in:
whyour 2021-05-02 13:51:52 +08:00
parent f5efad69ee
commit bd1a09ded1
2 changed files with 42 additions and 2 deletions

View File

@ -49,6 +49,39 @@ add_cron_api() {
fi
}
update_cron_api() {
local currentTimeStamp=$(date +%s)
if [ $# -eq 1 ]; then
local schedule=$(echo "$1" | awk -F ":" '{print $1}')
local command=$(echo "$1" | awk -F ":" '{print $2}')
local name=$(echo "$1" | awk -F ":" '{print $3}')
local id=$(echo "$1" | awk -F ":" '{print $4}')
else
local schedule=$1
local command=$2
local name=$3
local id=$4
fi
local api=$(curl -s "http://localhost:5600/api/crons?t=$currentTimeStamp" \
-X 'PUT' \
-H "Accept: application/json" \
-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 "Content-Type: application/json;charset=UTF-8" \
-H "Origin: http://localhost:5700" \
-H "Referer: http://localhost:5700/crontab" \
-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\",\"_id\":\"$id\"}" \
--compressed)
code=$(echo $api | jq -r .code)
if [[ $code == 200 ]]; then
echo -e "$name 添加成功"
else
echo -e "$name 添加失败"
fi
}
del_cron_api() {
local id=$1
local currentTimeStamp=$(date +%s)

View File

@ -204,7 +204,10 @@ update_raw() {
if [[ $? -eq 0 ]]; then
mv "$dir_raw/${raw_file_name}.new" "$dir_raw/${raw_file_name}"
echo -e "下载 ${raw_file_name} 成功...\n"
cp -f $raw_file_name $dir_scripts/raw_${filename}
cd $dir_raw
local filename="raw_${raw_file_name}"
local cron_id=$(cat $list_crontab_user | grep -E "$cmd_task $filename$" | perl -pe "s|.*ID=(.*) $cmd_task $filename$|\1|")
cp -f $raw_file_name $dir_scripts/${filename}
cron_line=$(
perl -ne "{
print if /.*([\d\*]*[\*-\/,\d]*[\d\*] ){4}[\d\*]*[\*-\/,\d]*[\d\*]( |,|\").*$raw_file_name/
@ -217,7 +220,11 @@ update_raw() {
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"
if [[ -z $cron_id ]]; then
add_cron_api "$cron_line:$cmd_task $filename:$cron_name"
else
# update_cron_api "$cron_line:$cmd_task $filename:$cron_name:$cron_id"
fi
else
echo -e "下载 ${raw_file_name} 失败,保留之前正常下载的版本...\n"
[ -f "$dir_raw/${raw_file_name}.new" ] && rm -f "$dir_raw/${raw_file_name}.new"