mirror of
https://github.com/juewuy/ShellCrash.git
synced 2024-11-16 03:32:34 +08:00
v0.9.0
~新增定时任务功能(实验性,欢迎测试) ~修复测试命令时一个报错的小bug
This commit is contained in:
parent
0e442ce5ad
commit
2026fe5adc
Binary file not shown.
|
@ -1 +1 @@
|
||||||
versionsh=0.8.7
|
versionsh=0.9.0
|
||||||
|
|
103
scripts/clash.sh
103
scripts/clash.sh
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
getconfig(){
|
getconfig(){
|
||||||
#版本号
|
#版本号
|
||||||
versionsh_l=0.8.7
|
versionsh_l=0.9.0
|
||||||
#服务器地址
|
#服务器地址
|
||||||
if [ -z $update_url ]; then
|
if [ -z $update_url ]; then
|
||||||
update_url=https://cdn.jsdelivr.net/gh/juewuy/clash-for-Miwifi/
|
update_url=https://cdn.jsdelivr.net/gh/juewuy/clash-for-Miwifi/
|
||||||
|
@ -120,7 +120,6 @@ echo -e " 3 选取\033[33m代理规则\033[0m模版"
|
||||||
echo -e " 4 选择配置生成服务器"
|
echo -e " 4 选择配置生成服务器"
|
||||||
echo -e " 5 \033[36m还原\033[0m配置文件"
|
echo -e " 5 \033[36m还原\033[0m配置文件"
|
||||||
echo -e " 6 \033[32m手动更新\033[0m订阅"
|
echo -e " 6 \033[32m手动更新\033[0m订阅"
|
||||||
echo -e " 7 设置自动更新(未完成)"
|
|
||||||
echo -e " 0 返回上级菜单"
|
echo -e " 0 返回上级菜单"
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
if [ -z $num ];then
|
if [ -z $num ];then
|
||||||
|
@ -529,31 +528,44 @@ clashcron(){
|
||||||
|
|
||||||
setcron(){
|
setcron(){
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e " 输入 1-7 对应\033[36m每周相应天\033[0m运行"
|
echo -e " 正在设置:\033[32m$cronname\033[0m定时任务"
|
||||||
echo -e " 输入 8 设为\033[36m每天定时\033[0m运行"
|
echo -e " 输入 1-7 对应\033[33m每周相应天\033[0m运行"
|
||||||
echo -e " 输入 1,3,6 代表\033[36m每周1,3,6\033[0m运行(注意小写逗号分隔)"
|
echo -e " 输入 8 设为\033[33m每天定时\033[0m运行"
|
||||||
|
echo -e " 输入 1,3,6 代表\033[36m每周1,3,6\033[0m运行(注意用小写逗号分隔)"
|
||||||
|
echo -e " 输入 9 \033[31m删除定时任务\033[0m"
|
||||||
echo -e " 输入 0 返回上级菜单"
|
echo -e " 输入 0 返回上级菜单"
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
if [ -z $num ]; then
|
if [ -z $num ]; then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
setcron
|
clashcron
|
||||||
elif [[ $num == 0 ]]; then
|
elif [[ $num == 0 ]]; then
|
||||||
clashcron
|
clashcron
|
||||||
|
elif [[ $num == 9 ]]; then
|
||||||
|
sed -i /$cronname/d $cronpath
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[31m定时任务:$cronname已删除!\033[0m"
|
||||||
|
clashcron
|
||||||
elif [[ $num == 8 ]]; then
|
elif [[ $num == 8 ]]; then
|
||||||
week='*'
|
week='*'
|
||||||
|
week1=每天
|
||||||
echo 已设为每天定时运行!
|
echo 已设为每天定时运行!
|
||||||
else
|
else
|
||||||
week=$num
|
week=$num
|
||||||
|
week1=每周$week
|
||||||
echo 已设为每周 $num 运行!
|
echo 已设为每周 $num 运行!
|
||||||
fi
|
fi
|
||||||
#设置具体时间
|
#设置具体时间
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
read -p "请输入小时(0-24) > " num
|
read -p "请输入小时(0-23) > " num
|
||||||
if [ -z $num ]; then
|
if [ -z $num ]; then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
setcron
|
setcron
|
||||||
|
elif [ $num -gt 23 ] || [ $num -lt 0 ]; then
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
|
setcron
|
||||||
else
|
else
|
||||||
hour=$num
|
hour=$num
|
||||||
fi
|
fi
|
||||||
|
@ -563,22 +575,51 @@ clashcron(){
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
setcron
|
setcron
|
||||||
|
elif [ $num -gt 60 ] || [ $num -lt 0 ]; then
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
|
setcron
|
||||||
else
|
else
|
||||||
min=$num
|
min=$num
|
||||||
fi
|
fi
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo 设定为:每周$week的$hour点$min,$cronname
|
echo 将在$week1的$hour点$min分$cronname(旧的任务会被覆盖)
|
||||||
read -p "是否确认添加?(1/0) > " res
|
read -p "是否确认添加定时任务?(1/0) > " res
|
||||||
|
if [ "$res" = '1' ]; then
|
||||||
|
sed -i /$cronname/d $cronpath
|
||||||
|
echo "$min $hour * * $week $cronset >/dev/null 2>&1 #$week1的$hour点$min分$cronname" >> $cronpath
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[31m定时任务已添加!!!\033[0m"
|
||||||
|
fi
|
||||||
|
clashcron
|
||||||
|
}
|
||||||
|
checkcron(){
|
||||||
|
if [ -d /etc/crontabs/ ]; then
|
||||||
|
cronpath="/etc/crontabs/root"
|
||||||
|
elif [ -d /var/spool/cron/ ]; then
|
||||||
|
cronpath="/var/spool/cron/root"
|
||||||
|
elif [ -d /var/spool/cron/crontabs/ ]; then
|
||||||
|
cronpath="/var/spool/cron/crontabs/root"
|
||||||
|
else
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo "找不到定时任务文件,无法添加定时任务!"
|
||||||
|
clashsh
|
||||||
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#定时任务菜单
|
||||||
|
checkcron #检测定时任务文件
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[30;47m欢迎使用定时任务功能:\033[0m"
|
echo -e "\033[30;47m欢迎使用定时任务功能:\033[0m"
|
||||||
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e " 1 设置\033[36m定时重启\033[0mclash服务"
|
echo -e "\033[33m当前已经添加的定时任务有:\033[36m"
|
||||||
echo -e " 2 设置\033[36m定时关闭\033[0mclash服务"
|
crontab -l | egrep -o '#.*'
|
||||||
echo -e " 3 设置\033[36m定时开启\033[0mclash服务"
|
echo -e "\033[0m"-----------------------------------------------
|
||||||
echo -e " 4 设置\033[36m定时更新\033[0m订阅链接"
|
echo -e " 1 设置\033[33m定时重启\033[0mclash服务"
|
||||||
|
echo -e " 2 设置\033[31m定时停止\033[0mclash服务"
|
||||||
|
echo -e " 3 设置\033[32m定时开启\033[0mclash服务"
|
||||||
|
echo -e " 4 设置\033[33m定时更新\033[0m订阅链接(实验性,可能不稳定)"
|
||||||
echo -e " 0 返回上级菜单"
|
echo -e " 0 返回上级菜单"
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
if [ -z $num ]; then
|
if [ -z $num ]; then
|
||||||
|
@ -592,13 +633,24 @@ elif [[ $num == 0 ]]; then
|
||||||
elif [[ $num == 1 ]]; then
|
elif [[ $num == 1 ]]; then
|
||||||
cronname=重启clash服务
|
cronname=重启clash服务
|
||||||
cronset='/etc/init.d/clash restart'
|
cronset='/etc/init.d/clash restart'
|
||||||
|
setcron
|
||||||
|
elif [[ $num == 2 ]]; then
|
||||||
|
cronname=停止clash服务
|
||||||
|
cronset='/etc/init.d/clash stop'
|
||||||
|
setcron
|
||||||
|
elif [[ $num == 3 ]]; then
|
||||||
|
cronname=开启clash服务
|
||||||
|
cronset='/etc/init.d/clash start'
|
||||||
|
setcron
|
||||||
|
elif [[ $num == 4 ]]; then
|
||||||
|
cronname=更新订阅链接
|
||||||
|
cronset="source /etc/profile && source $clashdir/getdate.sh && getyaml"
|
||||||
|
setcron
|
||||||
|
|
||||||
|
else
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
|
clashsh
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -610,7 +662,7 @@ echo -e " 1 \033[32m启动/重启\033[0mclash服务"
|
||||||
echo -e " 2 clash\033[33m高级设置\033[0m"
|
echo -e " 2 clash\033[33m高级设置\033[0m"
|
||||||
echo -e " 3 \033[31m停止\033[0mclash服务"
|
echo -e " 3 \033[31m停止\033[0mclash服务"
|
||||||
echo -e " 4 $auto1"
|
echo -e " 4 $auto1"
|
||||||
echo -e " 5 设置定时任务(施工中)"
|
echo -e " 5 设置定时任务"
|
||||||
echo -e " 6 导入\033[32m节点/订阅\033[0m链接"
|
echo -e " 6 导入\033[32m节点/订阅\033[0m链接"
|
||||||
echo -e " 8 \033[35m测试菜单\033[0m"
|
echo -e " 8 \033[35m测试菜单\033[0m"
|
||||||
echo -e " 9 \033[36m更新/卸载\033[0m"
|
echo -e " 9 \033[36m更新/卸载\033[0m"
|
||||||
|
@ -656,14 +708,7 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
||||||
clashsh
|
clashsh
|
||||||
|
|
||||||
elif [[ $num == 5 ]]; then
|
elif [[ $num == 5 ]]; then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
clashcron
|
||||||
echo -e "\033[31m正在施工中,敬请期待!\033[0m"
|
|
||||||
echo -e "\033[32m正在施工中,敬请期待!\033[0m"
|
|
||||||
echo -e "\033[33m正在施工中,敬请期待!\033[0m"
|
|
||||||
echo -e "\033[34m正在施工中,敬请期待!\033[0m"
|
|
||||||
echo -e "\033[35m正在施工中,敬请期待!\033[0m"
|
|
||||||
echo -e "\033[36m正在施工中,敬请期待!\033[0m"
|
|
||||||
clashsh
|
|
||||||
|
|
||||||
elif [[ $num == 6 ]]; then
|
elif [[ $num == 6 ]]; then
|
||||||
clashlink
|
clashlink
|
||||||
|
@ -688,7 +733,7 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
||||||
elif [[ $num == 0 ]]; then
|
elif [[ $num == 0 ]]; then
|
||||||
clashsh
|
clashsh
|
||||||
elif [[ $num == 1 ]]; then
|
elif [[ $num == 1 ]]; then
|
||||||
etc/init.d/clash stop
|
/etc/init.d/clash stop
|
||||||
echo -e "\033[31m如有报错请截图后到TG群询问!!!\033[0m"
|
echo -e "\033[31m如有报错请截图后到TG群询问!!!\033[0m"
|
||||||
$clashdir/clash -d $clashdir & { sleep 3 ; kill $! & }
|
$clashdir/clash -d $clashdir & { sleep 3 ; kill $! & }
|
||||||
echo -e "\033[31m如有报错请截图后到TG群询问!!!\033[0m"
|
echo -e "\033[31m如有报错请截图后到TG群询问!!!\033[0m"
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
# Copyright (C) Juewuy
|
# Copyright (C) Juewuy
|
||||||
|
|
||||||
getyaml(){
|
getyaml(){
|
||||||
|
ccfg=$clashdir/mark
|
||||||
source $ccfg
|
source $ccfg
|
||||||
#前后端订阅服务器地址索引,可在此处添加!
|
#前后端订阅服务器地址索引,可在此处添加!
|
||||||
Server=`sed -n ""$server_link"p"<<EOF
|
Server=`sed -n ""$server_link"p"<<EOF
|
||||||
|
@ -36,6 +37,7 @@ echo -e "| 需要一点时间,请耐心等待! |"
|
||||||
echo -e "| \033[0m如长时间没有数据请用ctrl+c退出\033[36m |"
|
echo -e "| \033[0m如长时间没有数据请用ctrl+c退出\033[36m |"
|
||||||
echo -e "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\033[0m"
|
echo -e "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\033[0m"
|
||||||
#获取在线yaml文件
|
#获取在线yaml文件
|
||||||
|
yaml=$clashdir/config.yaml
|
||||||
yamlnew=$yaml.new
|
yamlnew=$yaml.new
|
||||||
rm -rf $yamlnew > /dev/null 2>&1
|
rm -rf $yamlnew > /dev/null 2>&1
|
||||||
result=$(curl -w %{http_code} -kLo $yamlnew $Https)
|
result=$(curl -w %{http_code} -kLo $yamlnew $Https)
|
||||||
|
@ -58,7 +60,7 @@ if [ "$result" != "200" ];then
|
||||||
sed -i "1i\server_link=$server_link" $ccfg
|
sed -i "1i\server_link=$server_link" $ccfg
|
||||||
getyaml
|
getyaml
|
||||||
fi
|
fi
|
||||||
exit;
|
#exit;
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if cat $yamlnew | grep ', server:' >/dev/null;then
|
if cat $yamlnew | grep ', server:' >/dev/null;then
|
||||||
|
@ -103,9 +105,9 @@ else
|
||||||
echo -e "\033[33m请检查如上配置文件信息:\033[0m"
|
echo -e "\033[33m请检查如上配置文件信息:\033[0m"
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
fi
|
fi
|
||||||
exit;
|
#exit;
|
||||||
fi
|
fi
|
||||||
exit
|
#exit
|
||||||
}
|
}
|
||||||
getlink(){
|
getlink(){
|
||||||
#设置输入循环
|
#设置输入循环
|
||||||
|
|
Loading…
Reference in New Issue
Block a user