我有服务器Master,SlaveA,SlaveB,SlaveC,
,想要通过在主服务器上执行一个 bash 脚本来获取来自服务器的空间信息。
我怎样才能做到这一点?
--case--
192.168.1.1 - Master
192.168.1.10 - A
192.168.1.11 - B
192.168.1.12 - C
成为df
奴隶。
--ex. output---
==Slave A==
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 7222500 3909896 2945720 58% /
==Slave B==
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 4222500 3909896 5744447 98% /
==Slave C==
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 1222500 509896 xxxxxxxx 50% /
非常感谢!DeLol
答案1
将您需要的命令放在主机上的快速脚本中,然后像这样运行该脚本:
ssh 192.168.1.10 < script.sh
这将在远程主机上执行 script.sh 中包含的命令,而无需将脚本复制到远程系统。
另请参阅:记录服务器详细信息
答案2
对于有限的客户端列表,我在我的bash函数中有一个~/.profile
:
ch () {
echo host1
ssh root@host1 $@
echo host2
ssh root@host2 $@
}
我这样称呼它:
ch df
这可以轻松扩展为从数组或配置文件读取的客户端列表。
另一个选择是使用像 cssh 或类似的东西。