美文网首页
ssh远程执行包含nohup命令的脚本

ssh远程执行包含nohup命令的脚本

作者: caoxinyiyi | 来源:发表于2018-08-16 11:00 被阅读13次

前言

最近项目的需求,需要在三台机器中频繁的切换,执行不同的脚本。一开始是用很笨的办法,打开不同的终端,连接不同的机器。但是这种效率非常低,所以就想在同一台机器上写一个脚本,远程执行其它机器上的命令。

操作步骤

  • 1、 将A,B,C 三台服务器打通。打通的办法是用ssh-keygen -t rsa 生成公钥和私钥对。比如在A机器上的~/.ssh/这个文件夹下生成了id_rsa,id_rsa.pub这两个文件。然后将A机器的id_rsa.pub拷贝到B机器的authorized_keys文件中,这样在A机器上就可以直接
    ssh work@B的IP 这种方式免密登录了。其它机器之间也是这样。
  • 2、使用ssh username@hostip "cmd",可以实现执行远程命令的效果,不过该方法执行的cmd包含nohup时,不起作用。
  • 3、如果想让执行nohup生效,解决的方法是,手动在命令里面指定重定向,即上面的命令换成:ssh username@hostip "nohup ./test.sh >/dev/null 2>&1 &",然后就OK。

相关文章

网友评论

      本文标题:ssh远程执行包含nohup命令的脚本

      本文链接:https://www.haomeiwen.com/subject/bhsnbftx.html