我需要在屏幕上的远程计算机上启动nc并从屏幕上的另一台远程计算机开始传输文件,我试图通过使用bash脚本的deploy machine(jenkins)运行它

在远程机器1(即tester1)上:

ssh -tt mysql@tester1 'screen -d -m nc -l -w 60 5555 | tar xvif -'

在远程机器2上,即tester2:
ssh -tt tester2 'screen -d -m sudo -u mysql innobackupex  --stream=tar --databases="sampledb" /mysql-backup/prodfullbkp | nc -w 30 tester 5555'

虽然从部署计算机运行时以上两个命令不起作用,请有人帮我提供更好的方法来完成此操作。

在此先感谢=)

最佳答案

您可以有一个更好的解决方案,例如

ssh user@host << EOF
  #command to excecute
EOF

即tester1将是
ssh -tt mysql@tester1 << EOF
   screen -d -m nc -l -w 60 5555 | tar xvif -
EOF

tester2将是
ssh -tt tester2 << EOF
   screen -d -m sudo -u mysql innobackupex  --stream=tar --databases="sampledb" /mysql-backup/prodfullbkp | nc -w 30 tester 5555
EOF

关于linux - 如何在屏幕上的远程计算机上启动nc,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26435328/

10-12 04:02
查看更多