你可以使用 ssh
命令连接远程虚拟机,然后使用远程执行的方式,等待服务启动成功后返回信息。以下是一个示例的 Shell 脚本
#!/bin/bash
REMOTE_IP="your_remote_ip"
REMOTE_USER="your_remote_user"
# 连接远程虚拟机,执行启动命令
ssh "$REMOTE_USER@$REMOTE_IP" "sh /opt/start" > output.log 2>&1 &
# 等待服务启动成功
while ! ssh "$REMOTE_USER@$REMOTE_IP" "nc -z localhost 8080"; do
sleep 1
done
# 在这里可以添加其他需要执行的命令
echo "Service is up and running!"
请注意替换 your_remote_ip
和 your_remote_user
为实际的远程虚拟机 IP 和用户名。上述脚本中,> output.log 2>&1
是将 ssh
执行的输出日志重定向到 output.log
文件中,方便后续查看。你可以根据实际情况修改这个输出文件的路径。
这个脚本中,nc -z localhost 8080
的返回值为 0 表示服务已经成功启动。你需要根据实际的服务端口进行调整。