我正在尝试运行可能需要1个多小时的命令而且我已尝试添加
while sleep 300; do echo "1"; done
这样它就不会因为闲置而断开我的作用。
但是,有时候出于另一个原因它仍然断开连接,它说远程主机关闭了*.*.*.*
连接。
我想它只是一个默认的时间限制或我真的不知道的东西?
有没有办法增加时间或只是让它永远不会断开连接?
如果没有办法在关闭ssh连接后保持该命令运行?
答案 0 :(得分:2)
如果您无法更改服务器设置,则应通过指定频繁的保持活动信号来启动ssh,以完成命令。例如。
SELECT Date() AS [Period End], Sum((([PrevInv]+[PrevOrder]-[OnHand])*[Cost])) AS Used, [Enter Sales] AS Sales, Sum((([PrevInv]+[PrevOrder]-[OnHand])*[Cost])/[Enter Sales]) AS FoodCost
FROM Inventory
WHERE (((Inventory.Cost)>0))
GROUP BY Date(), [Enter Sales];
应发出" alive"每隔20秒向服务器发出一次信号,以便保持连接活动
答案 1 :(得分:0)
对我来说,SSH 连接曾经挂断过。
以下解决方案对我有用。现在 SSH 连接始终保持有效。
来自服务器:
/etc/ssh/sshd_config
处编辑文件$ sudo vi /etc/ssh/sshd_config
ClientAliveInterval 60
$ sudo service sshd restart
来自本地机器/客户端:
/etc/ssh/ssh_config
处编辑文件$ sudo vi /etc/ssh/ssh_config
ServerAliveInterval 60
关于这些参数:
ServerAliveInterval
:客户端在向服务器发送空包之前等待的秒数(以保持连接有效)。
ClientAliveInterval
:在向客户端发送空数据包之前服务器将等待的秒数(以保持连接有效)。
重要:每当对产品进行任何修改时 例如,请确保创建备份。