我需要在屏幕上的远程计算机上启动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/