如何通过获取 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]
应该管用。
该行循环遍历server1
andserver2
并运行命令:
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
.