我正在尝试建立一个中央服务器,负责监控我的其他服务器。该集中式服务器需要能够收集有关特定服务器的特定信息/指标(例如df -h
和service httpd status
);但如果需要,它还需要能够重新启动 Apache。
如果不是为了重启 Apache,我可以编写一个监听脚本来提供一种方法,让集中式服务器无需 SSH 即可获得所需的数据。但因为我也希望它能够重启 Apache,所以它需要能够通过 PHP 和 Bash 的组合登录和启动脚本。
目前,我正在使用 PHPshell_exec
来执行这个(非常简单的)Bash 脚本:
#!/bin/sh
ssh -i /path/to/keyFile.pem ec2-user@x.x.x.x;
我正在通过私有 IP 访问外部服务器(这是一个 EC2 实例)。如果我启动这个脚本,我可以毫无问题地登录 - 但是,当我想发回上面列出的命令的输出时,问题就来了。
在 Bash 脚本中,如何df -h
在 SSH 连接到另一台服务器后输出命令?这可能吗?