效率飆升!登錄 Linux 自動展示 CPU/內存/多盤使用情況,一個腳本搞定!
今天分享一個超炫的腳本,讓你登錄Linux服務器,自動展示平時關注的系統信息,一目了然。
更重要的是:腳本復制即可用,還可以自定義修改。
1. 效果展示
登錄服務器后,自動展示:
是不是非常有“掌控感”?系統健康狀態一目了然,再也不用翻命令查資源了!
2. 實現腳本
編寫腳本:
vi /etc/profile.d/sysinfo.sh
腳本內容:
#!/bin/bash
# 顏色
GREEN="\033[1;32m"
YELLOW="\033[1;33m"
CYAN="\033[1;36m"
RESET="\033[0m"
# 獲取基本信息
HOSTNAME=$(hostname)
UPTIME=$(uptime -p | sed 's/up //')
LOADAVG=$(uptime | awk -F'load average:''{print $2}' | sed 's/^ //')
# 內存
read MEM_TOTAL MEM_USED <<<$(free -m | awk '/Mem:/ {print $2, $3}')
MEM_PCT=$((MEM_USED * 100 / MEM_TOTAL))
# IP
IP_ADDR=$(hostname -I | awk '{print $1}')
# CPU 使用率(top方式)
CPU_IDLE=$(top -bn2 | grep "Cpu(s)" | tail -n1 | awk -F',''{print $4}' | grep -o '[0-9.]*')
CPU_USAGE=$(awk "BEGIN {printf \"%.0f\", 100 - $CPU_IDLE}")
# 輸出系統信息
echo -e "\n${GREEN}恭喜你成功登錄系統,先了解一下系統信息吧!${RESET}"
echo -e "${YELLOW}---------------------------------------------${RESET}"
#echo -e "${CYAN}系統信息如下:${RESET}"
#echo -e "${YELLOW}---------------------------------------------${RESET}"
printf"| %-8s | %-30s |\n""資源 " " 使用情況"
printf"|----------|--------------------------------|\n"
printf"| %-8s | %-30s |\n""IP地址 ""$IP_ADDR"
printf"| %-8s | %-30s |\n""CPU" "$CPU_USAGE%"
printf"| %-8s | %-30s |\n""內存 " "${MEM_USED}MB / ${MEM_TOTAL}MB (${MEM_PCT}%%)"
printf"| %-8s | %-30s |\n""負載情況""$LOADAVG"
printf"| %-8s | %-30s |\n""運行時長" "$UPTIME"
echo -e "${YELLOW}---------------------------------------------${RESET}"
echo -e "${CYAN}磁盤掛載信息${RESET}"
echo -e "${YELLOW}-------------------------------------------------${RESET}"
# 打印磁盤使用情況(排除 tmpfs 和 devtmpfs)
printf"| %-10s | %-10s | %-10s | %-6s |\n""Mount""Used""Total""Usage"
printf"|------------|------------|------------|--------|\n"
df -h -x tmpfs -x devtmpfs | awk 'NR>1 {
printf "| %-10s | %-10s | %-10s | %-6s |\n", $6, $3, $2, $5
}'
echo -e "${YELLOW}-------------------------------------------------${RESET}"
echo -e "${GREEN}開始你的表演,操作需謹慎,勿當背鍋俠!${RESET}\n"
3. 運行腳本
將腳本添加執行權限即可運行:
chmod +x /etc/profile.d/sysinfo.sh
完成上面步驟,即可每次登錄 SSH、TTY、Shell,就會自動展示這份美麗的資源清單。
4. 注意事項
要將腳本放置在系統會自動執行腳本的目錄下,路徑建議:
目標 | 建議路徑 |
全系統生效 |
|
只對當前用戶生效 |
或 |
非 bash 用戶(zsh 等) |
或 |
腳本風格清晰,可集中管理 |
目錄 |
其他注意點:
- /etc/profile.d/xxx.sh 中的腳本必須是 可執行的,并且以 .sh 結尾。
- ~/.bashrc 和 ~/.bash_profile 執行的是當前用戶的腳本,建議不要把對所有用戶有影響的邏輯寫進去。
上面的腳本不只可以實現系統基本信息展示,也可以根據需要將本系統的部署的應用展示出來,比如應用的部署路徑,應用端口等。這樣剛接手的就快速知道應用部署情況。