1- #! /bin/sh
1+ #! /usr/bin/env bash
2+ # # CUSTOM_SHELL_FILE for https://gitee.com/lxk0301/jd_docker/tree/master/docker
3+ # ## 编辑docker-compose.yml文件添加: - CUSTOM_SHELL_FILE=https://raw.githubusercontent.com/monk-coder/dust/dust/shell_script_mod.sh
4+ # ### 容器完全启动后执行 docker exec -it jd_scripts /bin/sh -c 'crontab -l' 查看目前修行的经书
25
3- # # 克隆monk-coder仓库
4- if [ ! -d " /monk/" ]; then
5- echo " 未检查到monk-coder仓库脚本,初始化下载相关脚本..."
6- git clone https://github.com/monk-coder/dust /monk
7- else
8- echo " 更新monk-coder脚本相关文件..."
9- git -C /monk reset --hard
10- git -C /monk pull origin main --rebase
11- fi
12- cp -f /monk/car/* _* .js /scripts
13- cp -f /monk/i-chenzhe/* _* .js /scripts
14- cp -f /monk/member/* _* .js /scripts
15- cp -f /monk/normal/* _* .js /scripts
6+ function monkcoder(){
7+ # https://github.com/monk-coder/dust
8+ rm -rf /monkcoder /scripts/monkcoder_*
9+ git clone https://github.com/monk-coder/dust.git /monkcoder
10+ # 拷贝脚本
11+ for jsname in $( find /monkcoder -name " *.js" | grep -vE " \/backup\/" ) ; do cp ${jsname} /scripts/monkcoder_${jsname##*/ } ; done
12+ # 匹配js脚本中的cron设置定时任务
13+ for jsname in $( find /monkcoder -name " *.js" | grep -vE " \/backup\/" ) ; do
14+ jsnamecron=" $( cat $jsname | grep -oE " /?/?cron \" .*\" " | cut -d\" -f2) "
15+ test -z " $jsnamecron " || echo " $jsnamecron node /scripts/monkcoder_${jsname##*/ } >> /scripts/logs/monkcoder_${jsname##*/ } .log 2>&1" >> /scripts/docker/merged_list_file.sh
16+ done
17+ }
1618
17- # # 合并monk&i-chenzhe大师脚本进入crontab列表
18- cat /monk/i-chenzhe/remote_crontab_list.sh /monk/remote_crontab_list.sh >> /scripts/docker/merged_list_file.sh
19+ function main(){
20+ # 首次运行时拷贝docker目录下文件
21+ [[ ! -d /jd_diy ]] && mkdir /jd_diy && cp -rf /scripts/docker/* /jd_diy
22+ # DIY脚本执行前后信息
23+ a_jsnum=$( ls -l /scripts | grep -oE " ^-.*js$" | wc -l)
24+ a_jsname=$( ls -l /scripts | grep -oE " ^-.*js$" | grep -oE " [^ ]*js$" )
25+ monkcoder
26+ b_jsnum=$( ls -l /scripts | grep -oE " ^-.*js$" | wc -l)
27+ b_jsname=$( ls -l /scripts | grep -oE " ^-.*js$" | grep -oE " [^ ]*js$" )
28+ # DIY脚本更新TG通知
29+ info_more=$( echo $a_jsname $b_jsname | tr " " " \n" | sort | uniq -c | grep -oE " 1 .*$" | grep -oE " [^ ]*js$" | tr " \n" " " )
30+ [[ " $a_jsnum " == " 0" || " $a_jsnum " == " $b_jsnum " ]] || curl -sX POST " https://api.telegram.org/bot$TG_BOT_TOKEN /sendMessage" -d " chat_id=$TG_USER_ID &text=DIY脚本更新完成:$a_jsnum $b_jsnum $info_more " > /dev/null
31+ # LXK脚本更新TG通知
32+ lxktext=" $( diff /jd_diy/crontab_list.sh /scripts/docker/crontab_list.sh | grep -E " ^[+-]{1}[^+-]+" | grep -oE " node.*\.js" | cut -d/ -f3 | tr " \n" " " ) "
33+ test -z " $lxktext " || curl -sX POST " https://api.telegram.org/bot$TG_BOT_TOKEN /sendMessage" -d " chat_id=$TG_USER_ID &text=LXK脚本更新完成:$( cat /jd_diy/crontab_list.sh | grep -vE " ^#" | wc -l) $( cat /scripts/docker/crontab_list.sh | grep -vE " ^#" | wc -l) $lxktext " > /dev/null
34+ # 拷贝docker目录下文件供下次更新时对比
35+ cp -rf /scripts/docker/* /jd_diy
36+ }
37+
38+ main
0 commit comments