终章:在serv00上部署gocron并保活——一个serv00号可保活所有账号进程

项目地址:

由于作者的项目存在部分缺陷,在后台命令行只能输入256字节内容,我对其进行了,修改,并加入了启动、保活及保号脚本,免去了各位佬友自行添加。

在面板后台你也可以自行设置SSH相关的命令。
先看看效果吧,和cf保活输出内容差不多,其优势在于:

  • 可以在后台创建无数个任务
  • 灵活性较高
  • 可以自定义其他任务脚本
  • 不受Cloudflare每次只能执行15s限制
  • 相当于小青龙,只是文件不能在后台改,必须去serv00目录改

电报:

1.开放2个端口并开启应用权限

一个端口用于面板登录,一个端口用于交互

2.将域名托管到serv00并创建Website

域名托管不在这里叙述,可以回源加优选解决serv00的IP被墙的问题
参考:

3.创建MySQL数据库

记住信息后面会用

4.下载gocron

无法连接SSH可以用我的webssh进行连接
https://webssh.linux-do.rr.nu/

webssh搭建教程

由于作者项目存在部分小缺陷,我优化了一下并加入了serv00的保活保号脚本

进入 public_html 文件下

cd /usr/home/你的serv名字/domains/域名/public_html

启用 Go Modules 功能

export GO111MODULE=on

下载并进入gocron

https://github.com/zjmkkk/gocron.git && cd gocron

编译项目

make

构建路径

export PATH=$PATH:$(go env GOPATH)/bin

5.修改脚本中的start.sh文件并执行

去文件管理器后台找到start.sh(在你的域名的/public_html/gocron目录下的,修改文件的面板端口交互端口为你前面创建的并保存

#!/bin/bash

# 启动 gocron web
start_gocron_web() {
    echo "Starting gocron web on port 面板端口..."
    ./bin/gocron web --port 面板端口 &
}

# 启动 gocron-node
start_gocron_node() {
    echo "Starting gocron-node on port 交互端口..."
    ./bin/gocron-node -s 0.0.0.0:交互端口 &
}

# 启动服务
start_gocron_web
start_gocron_node

echo "Services started."

赋权start.sh

chmod +x /usr/home/你的serv名字/domains/域名/public_html/gocron/start.sh

启动脚本

./start.sh

6.安装gocron

访问你的域名

image

测试一下

7.修改MySQL数据库最大字节限制

8.保活serv00进程

cron填数字,其余不要填,这玩意和一般cron不太一样,第一位随便填个数字,不然消息会爆炸
如:
15 * 1 * * 1

命令放入代码,修改你的账号密码,及需要执行的命令,可以有多个,支持pm2及特殊命令
变量不知道怎么获取看:

bash /usr/home/你的serv00账号/domains/你的域名/public_html/gocron/baohuo.sh \
'[{"ip":"s12.serv00.com","user":"账号","pwd":"密码","commands":["ls", "pwd"]},
{"ip":"s12.serv00.com","user":"账号","pwd":"密码","commands":["df""]}]' \
"你的电报token" \
"你的电报ID"

其余默认保存就行
测试一下消息就开始推送了

9.保号

命令放入代码,修改你的账号密码

bash /usr/home/你的serv00账号/domains/你的域名/public_html/gocron/baohao.sh \
'[{"ip":"s12.serv00.com","账号":"your_user1","pwd":"密码"},
{"ip":"s12.serv00.com","账号":"your_user2","pwd":"密码"}]' \
"你的电报token" \
"你的电报ID" 

上面脚本都是我修改后支持消息推送的
如果你单纯想保活,其实很简单,一行命令就解决

sshpass -p "你的密码" ssh -o StrictHostKeyChecking=no 你的serv00名字@s12.serv00.com "你的命令"

10.可以放CF进行外部保活该项目

自己在gocron目录下创建restart.sh文本并修改你的对应路径就行,最后放入CF中

#!/bin/bash

# 设置脚本路径
SCRIPT_PATH="/usr/home/serv00账号/domains/你的域名/public_html/gocron/start.sh"
WORK_DIR="/usr/home/serv00账号/domains/你的域名/public_html/gocron"
PORT=你的面板端口

# 检查端口是否被占用
if ! sockstat -4 -l | grep -q ":$PORT"
then
    # 如果端口没有被占用,则重新启动脚本
    cd "$WORK_DIR"
    nohup ./start.sh > /dev/null 2>&1 &
    echo "Restarted start.sh at $(date)" >> "$WORK_DIR/restart_log.txt"
fi

只要该项目不挂掉,你的serv00其他所有号及进程都能一直运行
其作用限于serv00保活,linux.do脚本大佬可以以挖掘并分享啊 :wink:

16 个赞

太强了! :tieba_087:

2 个赞

bbb搞一个linux自动阅读脚本丢进去 :wink:

一站保活所有:+1:

不太行… :tieba_087:

这个应用能实现的 :wink:

cf也可以搭建保活。真帮

cf没这个灵活,cf是把代码写死的

serv00被你玩透了


昨天这个玩完了,发现另外一个更像青龙的,占用1个端口的,舒服了

3 个赞

这个可以啊
文件能在后台改吗

guomaoqiu/JobCenter: :watch:让添加执行计划任务变得更加优雅~ Flask-Apscheduler Job Center​:rose: (github.com)

这个没有交互功能啊

有,演示版本限制了

sshpass -p "你的密码" ssh -o StrictHostKeyChecking=no 你的serv00名字@s12.serv00.com "你的命令"

后台设置能执行吗
看看后台任务设置面板

没有交互端口无法执行吧
后台不能直接创建文件的话我懒得搞了

可以的,resdme 有演示,可以看,不能操作。

后台能创建运行脚本?

我看了一下,好像功能没有gocron强大 :tieba_087:

太强了,已经成功用上了

2 个赞