我有这个问题在这里回答bash - running remote script from local machine关于如何使用与sudo有关的远程命令。我认为这是工作,因为我得到消息,我的服务器成功重新启动等,所以我选择了答案。但是今天我看到那台服务器实际上没有重启,但因为某种原因被杀。与sudo bash远程命令不起作用
事情我做了,当我跑这个命令第一次:
ssh [email protected] -t 'sudo /etc/init.d/script restart' #or -t just after ssh, same thing
我得到这个消息:
Restarting openerp-server: Stopping openerp-server: openerp-server.
Starting openerp-server: openerp-server.
Connection to host.com closed.
所以,是的,当时我以为一切都很好。但实际上会看到过程是否重新启动,我看到它没有工作。
当我试图(以相同的命令)再次重新启动,我得到这个消息:
Restarting openerp-server: Stopping openerp-server: start-stop-daemon: warning: failed to kill 25205: No such process
openerp-server.
Starting openerp-server: openerp-server.
Connection to host.com closed.
但是,如果使用相同的命令时,直接连接到远程服务器,一切正常,我的脚本重新启动服务器一般。 相同的命令我的意思是这样的:
ssh [email protected]
sudo /etc/init.d/script restart
那么到底什么是怎么回事?
第一个选项确实正常运行。即使退出后它也会正常重启。但使用睡眠定时器的第二个选项解决了它。所以我猜想使用远程命令时,重新启动的过程需要比实际连接到服务器的时间更长。实际上,它甚至足以放置像1秒钟的东西,并且它正常重新启动 – Andrius 2014-09-05 09:00:18