Closed OctoberCK closed 1 year ago
感谢反馈!计划在后续版本添加此功能。
你可以先编写一个脚本来自动重启 zju-connect:
#!/usr/bin/bash
while true
do
/opt/zju-connect -username xxx -password xxx
done
我现在暂时是在系统进程里加上了重启参数,试试看能不能做到守护进程。
[Unit] Description=ZJU Connect After=network.target [Service] Restart=always ExecStart=/opt/zju-connect -config /etc/zju-connect/config.toml [Install] WantedBy=multi-user.target
如果没有问题的话可以再readme.md中做个说明,应该会对大家有帮助
我现在暂时是在系统进程里加上了重启参数,试试看能不能做到守护进程。
[Unit] Description=ZJU Connect After=network.target [Service] Restart=always ExecStart=/opt/zju-connect -config /etc/zju-connect/config.toml [Install] WantedBy=multi-user.target
如果没有问题的话可以再readme.md中做个说明,应该会对大家有帮助
经过我一天的尝试,这个方案是可行的,大家可以参考一下
由于systemctl仅对linux用户有效,mac下对应的为launchctl,且server配置文件为plist格式。
目前我这边经过半天的尝试,参考上述给出了mac下的对应方案,具体如下:
参考apple 开发者文档新建一个plist文件,示例如下:
移到系统 /Libaray/LaunchDaemons/目录下,并将所有者设为root:wheel
执行sudo launchctl load com.zju.connect.plist
添加系统守护进程即可。
经多次测试,手动kill进程,均可自动重拨,并且plist中可新增mac下开机自启动选项。
如有需要,我这边可以提交一个pull request。
由于systemctl仅对linux用户有效,mac下对应的为launchctl,且server配置文件为plist格式。
目前我这边经过半天的尝试,参考上述给出了mac下的对应方案,具体如下:
- 参考apple 开发者文档新建一个plist文件,示例如下:
- 移到系统 /Libaray/LaunchDaemons/目录下,并将所有者设为root:wheel
- 执行
sudo launchctl load com.zju.connect.plist
添加系统守护进程即可。经多次测试,手动kill进程,均可自动重拨,并且plist中可新增mac下开机自启动选项。
如有需要,我这边可以提交一个pull request。
欢迎 PR,在 README.md 中说明
已提交PR
已提交PR
已合并,感谢贡献!
感觉要在说明里写清楚。或者默认推荐的设置先别 Restart=always。 添加说明,测试成功后,如果希望自动重启,可以添加这句。
我第一次创建服务的时候应该是没设置对,然后服务重启失败次数太多,学校把我IP禁了。等了一会儿才放出来
感觉要在说明里写清楚。或者默认推荐的设置先别 Restart=always。 添加说明,测试成功后,如果希望自动重启,可以添加这句。
我第一次创建服务的时候应该是没设置对,然后服务重启失败次数太多,学校把我IP禁了。等了一会儿才放出来
感谢反馈!已添加
我现在暂时是在系统进程里加上了重启参数,试试看能不能做到守护进程。
[Unit] Description=ZJU Connect After=network.target [Service] Restart=always ExecStart=/opt/zju-connect -config /etc/zju-connect/config.toml [Install] WantedBy=multi-user.target
如果没有问题的话可以再readme.md中做个说明,应该会对大家有帮助
建议对这个服务作适当修正,等待 network online 后再启动,这样可以有效规避部分需要登陆认证的网络开机服务运行失败的问题。以及建议使用 on-failure 为 Restart 条件并设置较长的重启间隔规避短时间内的多次服务重启尝试(当然 systemd 默认最大限制是 5 次)
[Unit]
Description=ZJU Connect
After=network-online.target
Wants=network-online.target
[Service]
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/zju-connect -config /etc/zju-connect/config.toml
[Install]
WantedBy=multi-user.target
这是我在 Arch 上的配置,Arch 系的用户可以看看 zju-connect-bin,已加入 cn 源。
我现在暂时是在系统进程里加上了重启参数,试试看能不能做到守护进程。
[Unit] Description=ZJU Connect After=network.target [Service] Restart=always ExecStart=/opt/zju-connect -config /etc/zju-connect/config.toml [Install] WantedBy=multi-user.target
如果没有问题的话可以再readme.md中做个说明,应该会对大家有帮助
建议对这个服务作适当修正,等待 network online 后再启动,这样可以有效规避部分需要登陆认证的网络开机服务运行失败的问题。以及建议使用 on-failure 为 Restart 条件并设置较长的重启间隔规避短时间内的多次服务重启尝试(当然 systemd 默认最大限制是 5 次)
感谢反馈,已更改!
我把zju-connect挂到nas里了,但现在每隔6-8小时会断线,断线后就没法自动重拨,总是要手动去重新拨号,不知道有没有可能解决这个问题,之前用docker-easyconnect的时候是可以自动重拨的。