【发布时间】:2019-06-10 19:36:34
【问题描述】:
我正在使用使用 SSL 网络扩展器 (SNX) 的 VPN 连接来连接到远程服务器。来自远程服务器的连接仅限于 12 小时。之后连接被断开,必须重新启动 SNX 服务器。为了克服这些困难,我尝试使用 crontab 自动重启 SNX。
- 我创建了一个名为
vpn.sh的 shell 脚本文件。
#!/bin/bash snx -d sleep 3 echo 'password' | snx
- 我在主目录中有配置文件调用
.snxrc
server server.com username username reauth yes
- 在我的 crontab (
crontab -e) 配置中
* */12 * * * bash /home/username/vpn.sh > /home/username/cron.log
每 12 小时运行一次。但snx -d 运行成功,但在达到echo 'newpass6' | snx 时出现此错误:
Failed to init terminal!
有没有人遇到过这样的问题?请帮我。我已经挣扎了一个星期了。提前致谢。
我已经按照这个链接设置snx
【问题讨论】:
-
如果我直接从命令提示符执行 bash 脚本,它工作正常,但如果在
crontab中执行相同的脚本,则会出现上述问题 -
没有理由不投票,我也有类似的问题... +1
-
对我来说另一种选择是使用 screen 命令,它允许我将 snx 作为 systemd 服务运行。虽然我还必须在 snx 调用后使用 sleep 365d 以便屏幕不会立即退出。