如何获取两个远程服务器中的 /log fS 使用情况

如何获取两个远程服务器中的 /log fS 使用情况

如何通过获取 df -h /log fS 使用情况来触发以下格式的邮件

服务器1 |服务器2

75% | 50%

以下是我手动检查 FS 使用情况的步骤

登录腻子

ssh服务器1

给出密码

发出命令 df -h /log 以获取 FS 使用情况。

如何从两台服务器服务器 1 和服务器 2 获取详细信息并发送 FS

邮件中的使用详细信息采用以下格式

服务器1 |服务器2

75% | 50%

答案1

首先,您需要删除使用密码登录服务器的要求。请改用基于公钥的登录。一旦你这样做了,你将需要类似的东西:

$ for host in "server1" "server2" ; do echo $host; ssh $host df --output="ipcent" /tmp | tail -n1 | tr -d " "; done | pr --columns=2  --length=2 | mail [email protected]

应该管用。

该行循环遍历server1andserver2并运行命令:

echo $host; ssh $host df --output="ipcent" /tmp

依次在每个服务器上。其输出只是服务器名称 ( $host) ,后跟包含 的驱动器的使用百分比/tmp,但它有一个标头,因此可以通过将其通过管道传递到以下内容来删除它:

tail -n1

返回最后一行(百分比)。不幸的是,它被空格包围,因此可以通过将其传递到以下内容来删除它:

tr -d " "

此时,两台服务器都已被ssh“d”,但输出将类似于:

server1
75%
server2
50%

所以它被输送到:

pr --columns=2 --length=2

为了将其旋转为您请求的格式:

server1     server2
75%         50%

最后,将其输入:

mail [email protected]

将其通过电子邮件发送至bloggs.

相关内容