请帮我写一个查看磁盘使用、内存使用情况、以及系统是否健康的shell脚本
时间: 2024-01-25 07:02:23 浏览: 24
当然可以帮您编写一个查看磁盘使用、内存使用情况以及系统健康状态的Shell脚本。以下是一个简单的示例脚本:
```
#!/bin/bash
# 检查磁盘使用情况
echo "===== Disk Usage ====="
df -h
# 检查内存使用情况
echo "===== Memory Usage ====="
free -h
# 检查系统健康状态
echo "===== System Health Check ====="
echo "==== CPU Load ===="
uptime
echo "==== Memory Usage ===="
vmstat -S M
echo "==== Swap Space ===="
swapon -s
echo "==== Process Status ===="
ps auxf
# 结束脚本
echo "===== End of Script ====="
```
该脚本通过使用`df -h`命令查看磁盘使用情况,使用`free -h`命令查看内存使用情况,使用`uptime`命令查看CPU负载,使用`vmstat -S M`命令查看内存信息,使用`swapon -s`命令查看交换空间使用情况,以及使用`ps auxf`命令查看进程状态。您可以根据自己的需要修改命令或添加其他命令来检查系统健康状态。
相关问题
帮我写一个获取linux服务器,cpu内存磁盘的shell脚本
当然,我可以帮你写一个获取Linux服务器CPU、内存、磁盘的shell脚本。以下是示例代码:
``` shell
#!/bin/bash
#获取CPU信息
cpu=`top -bn1 | grep "Cpu(s)" | awk '{print $2+$4}'`
#获取内存信息
free_mem=`free -m | awk 'NR==2{printf "%.2f%%\t\t", $3*100/$2 }'`
total_mem=`free -m | awk 'NR==2{printf "%.2fG\t", $2/1000}'`
used_mem=`free -m | awk 'NR==2{printf "%.2fG\t", $3/1000}'`
#获取磁盘信息
total_disk=`df -h | awk 'NR==2{printf "%s\t", $2}'`
used_disk=`df -h | awk 'NR==2{printf "%s\t", $3}'`
avail_disk=`df -h | awk 'NR==2{printf "%s\t", $4}'`
use_percent=`df -h | awk 'NR==2{printf "%s\t", $5}'`
echo "CPU占用率:$cpu%"
echo "内存使用情况:已用$used_mem/$total_mem,占用$free_mem"
echo "磁盘使用情况:已用$used_disk/$total_disk,可用$avail_disk,使用率为$use_percent"
```
你可以将以上代码保存为`monitor.sh`并在Linux服务器上运行,即可获取CPU、内存、磁盘的使用情况。希望能帮到你!
帮我用shell写一个查看linux系统状态的脚本,cpu使用率、内存使用率、可疑用户、硬盘使用率、io情况、流量使用情况
好的,以下是一个查看Linux系统状态的脚本:
```bash
#!/bin/bash
# This script outputs CPU usage, memory usage, suspicious users, disk usage, IO status and network usage.
# CPU usage
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2+$4}')
echo "CPU Usage: $cpu_usage%"
# Memory usage
memory_total=$(free -m | grep Mem | awk '{print $2}')
memory_used=$(free -m | grep Mem | awk '{print $3}')
memory_usage=$(echo "scale=2; $memory_used/$memory_total * 100" | bc)
echo "Memory Usage: $memory_usage%"
# Suspicious users
echo "Suspicious Users:"
last | awk '($3 ~ /pts/) {print $1}' | sort | uniq -c | sort -rn | awk '$1 >= 3 {print}'
# Disk usage
echo "Disk Usage:"
df -h
# IO status
echo "IO Status:"
iostat
# Network usage
echo "Network Usage:"
vnstat
```
请注意,这个脚本并不能检测到所有的可疑用户,只是统计了最近几次登录多次的用户,可能会有误判。此外,如果您的系统上没有安装vnstat软件,网络使用情况将无法显示。