我正在尝试使用 ssh 在远程服务器上启动一个进程。我需要在目标服务器(不是本地服务器)上记录标准输出
这是脚本:
sshpass -p mypwd ssh [email protected] nohup java -jar /tmp/jenkins/myjar.jar > log.log 2>&1 &
进程启动正常,但日志是在本地服务器上创建的。检查过
find . -name 'log.log'
我尝试将 nohup 命令包裹到双引号中
sshpass -p mypwd ssh [email protected] "nohup java -jar /tmp/jenkins/myjar.jar > log.log 2>&1 &"
进程启动正常,但两台服务器上都没有日志。
如何让 nohup 将 stdout 发送到远程服务器上的日志文件?
答案1
重点是诺哈普必须在 sshpass 命令之前记录所有输出;每个没有 nohup 的命令都是这样的:nohup command
或者nohup command > output.log 2>&1