sshpass 测试先保存证书,否则有各种不可预料结果。
密码使用最好保存使用’(单引号),否则无法使用特殊字符作为密码,如
sshpass -p '!otherpart' ssh app@192.168.138.11 'ls -ltr'
也可以使用-e 模式,-e可以不加单引号
另外如果远程执行nohup,从测试结果看需要指定输出,否则sshpass会一直等待exit或无法启动。
#!/bin/bash
cd /data/app/prometheus/process
nohup ./process-exporter -network -threads=false -gather-smaps=false -config.path app.yaml >nohup.out 2>&1 &
#nohup /data/app/prometheus/process/start.sh &
sleep 1
exit
以上代码关键是增加了 >nohup.out 2>&1