shell脚本使用ssh连接后查看磁盘使用率
时间: 2023-10-24 20:13:55 浏览: 176
以下是一个示例脚本,可以使用ssh连接到远程服务器并查看磁盘使用率:
```
#!/bin/bash
# 远程服务器的IP地址和用户名
REMOTE_SERVER="192.168.1.100"
REMOTE_USER="user"
# 连接远程服务器并执行指令
DISK_USAGE=$(ssh ${REMOTE_USER}@${REMOTE_SERVER} "df -h / | awk 'NR==2{print $5}'")
echo "磁盘使用率: ${DISK_USAGE}"
```
此脚本使用ssh连接到远程服务器,并在远程服务器上运行`df -h /`命令以获取磁盘使用情况。然后,使用`awk`命令提取第二行的磁盘使用率信息,并将其存储在`DISK_USAGE`变量中。最后,脚本打印磁盘使用率。
相关问题
shell脚本统计所有主机的cpu、内存、硬盘使用率
可以通过远程登录主机并执行命令来获取主机的CPU、内存、硬盘使用率。可以使用以下脚本来实现:
```bash
#!/bin/bash
# 定义主机列表
hosts=("host1" "host2" "host3")
for host in ${hosts[@]}
do
# 获取CPU使用率
cpu_usage=$(ssh $host "top -bn1 | grep 'Cpu(s)' | sed 's/.*, *\([0-9.]*\)%* id.*/\1/'")
# 获取内存使用率
mem_total=$(ssh $host "free -m | awk 'NR==2{print \$2}'")
mem_used=$(ssh $host "free -m | awk 'NR==2{print \$3}'")
mem_usage=$(echo "scale=2;$mem_used/$mem_total*100" | bc)
# 获取硬盘使用率
disk_usage=$(ssh $host "df -h | awk '\$NF==\"/\"{printf \"%s\", \$5}'")
# 输出结果
echo "主机:$host"
echo "CPU使用率:$cpu_usage%"
echo "内存使用率:$mem_usage%"
echo "硬盘使用率:$disk_usage"
echo ""
done
```
该脚本首先定义了一个主机列表,然后通过循环迭代每个主机。在循环中,使用ssh命令远程登录到主机并执行命令来获取CPU、内存、硬盘的使用率。最后输出结果。注意,需要在本地机器上配置好ssh登录免密登录到远程主机的认证。
阅读全文