继上周发现了SSHClient这个Python包,使用了几天后,现在吐糟无力。
1、不支持循环拷贝,即scp -r这种。这个也忍了吧。
2、ssh执行command后,一旦断开连接,进程马上退出……由于我的shell脚本可能要运行好几个小时,一旦网络不稳定就悲剧了。
经过多方查证,终于解决了第二个问题,其实还是用shell解决的。
nohup your_shell.sh > /dev/null 2>&1 &
继上周发现了SSHClient这个Python包,使用了几天后,现在吐糟无力。
1、不支持循环拷贝,即scp -r这种。这个也忍了吧。
2、ssh执行command后,一旦断开连接,进程马上退出……由于我的shell脚本可能要运行好几个小时,一旦网络不稳定就悲剧了。
经过多方查证,终于解决了第二个问题,其实还是用shell解决的。
nohup your_shell.sh > /dev/null 2>&1 &
不要用python的ssh lib,性能差到不行,我做过测试,paramiko比shell下的ssh性能差了至少4倍.最好的方式是subprocess去调shell.要拷贝的文件多的话,可以试试多线程调subprocess,我自己实现了一个基于ssh的远程调用的python框架,支持多线程,主要是针对大量目标机器的情况.
具体咱可以交流:)
直接开screen或者tmux吧...
非常感谢,我遇到了同样的问题,用你的方法完美解决
你好!请问关于这个后台命令执行,你方面再详细说下吗?我现在要远程执行一个perl 命令,但是运行完成,并没有得到我想要的结果,我现在不知如何调试了。谢谢!
应该是nohup your_shell.sh > /dev/null 1>&2 &