使用Bash腳本編寫一個簡單又實用的Linux健康檢查工具
Linux是一个强大而复杂的操作系统,它可以运行在各种硬件和环境中,提供各种功能和服务。但是,Linux也需要定期地进行健康检查,以确保系统的正常运行和性能。Linux有很多内置的命令和工具可以用来检查系统的状态和参数,但是这些命令和工具可能需要手动地输入和执行,比较繁琐和耗时。本文将介绍如何使用Bash脚本来编写一个简单而实用的Linux健康检查工具,可以一键地检查系统的基本信息、资源使用情况、网络连接情况等。
编写脚本
$ vim linuxmi
#! /bin/bash #color notes NC='\033[0m' GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[0;33m' cyan='\033[0;36m' yellow='\033[0;33m' #Sectioning ......... echo -e "${YELLOW}---------------------- -------------------------------------------------------------------------------- ---------${NC}" echo "Server details:" echo -e "${YELLOW}--------------------------- ----------------------------------------------------------------------------------- -${NC}" #fetching basic specs from the server(user,ip,os) user=`whoami` echo -e "${cyan}User:${NC} $user" hostname=`hostname` echo -e "${cyan}hostname:${NC} $hostname" ip=`hostname -I` echo -e "${cyan}IP address:${NC} $ip" os=`cat /etc/os-release | grep 'NAME\|VERSION' | grep -v 'VERSION_ID' | grep -v 'PRETTY_NAME' | grep NAME` echo -e "${cyan}OS:${NC} $os" #Sectioning..... echo -e "${YELLOW}------------------- ------------------------------------------------------------------------------------ --------${NC}" echo "Service status:" echo -e "${YELLOW}------------------------------- --------------------------------------------------------------------------------${NC}" sleep 1 #checking tomcat status echo -e "${yellow}1) Tomcat${NC}" #grepping tomcat status from ps aux pp=`ps aux | grep tomcat | grep "[D]java.util"` if [[ $pp =~ "-Xms512M" ]];then echo -e " Status: ${GREEN}UP${NC}" else echo -e " Status: ${RED}DOWN${NC}" fi echo "" #function to check apache is running or not! function apache(){ echo -e "${yellow}2) Apache-httpd${NC}" #grepping apache status from ps aux httpd=`ps aux | grep httpd | grep apache` if [[ $httpd =~ "apache" ]];then echo -e " Status: ${GREEN}UP${NC}" else echo -e " Status: ${RED}DOWN${NC}" fi } #function to check elastic is running or not function elastic(){ echo -e "${yellow}3) Elasticsearch${NC}" #grepping elasticsearch status from ps aux elastic=`ps aux | grep elasticsearch` if [[ $elastic =~ "elastic+" ]];then echo -e " Status: ${GREEN}UP${NC}" else echo -e " Status: ${RED}DOWN${NC}" fi #function to check mysql is running or not } function mysql(){ echo -e "${yellow}4) Mysql${NC}" #grepping mysql status from ps aux mysql=`ps aux | grep mysqld` if [[ $mysql =~ "mysqld" ]];then echo -e " Status: ${GREEN}UP${NC}" else echo -e " Status: ${RED}DOWN${NC}" fi } function docker(){ echo -e "${yellow}5) Docker${NC}" #grepping docker status from ps aux docker=`systemctl status docker | grep dead` if [[ $docker =~ "dead" ]];then echo -e " Status: ${GREEN}UP${NC}" else echo -e " Status: ${RED}DOWN${NC}" fi } #calling functions apache echo "" elastic echo "" mysql echo "" docker echo "" #Sectioning............ #Fetching mem and cpu informations echo -e "${YELLOW}-- ------------------------------------------------------------------------------------- ------------------------${NC}" echo "Memory Details:" echo -e "${YELLOW}---------------- ---------------------------------------------------------------------------------------- -------${NC}" sleep 1 #view mem info free -h #get uptime details uptime=$(uptime | awk '{print $3,$4}' | cut -f1 -d,) echo -e "${cyan}System Uptime:${NC} :$uptime" #Fetching the load average loadaverage=$(top -n 1 -b | grep "load average:" | awk '{print $10 $11 $12}') echo -e "${cyan}Load average:${NC}: $loadaverage" echo - e "${cyan}The top 10 services with high resource usage are listed below.${NC}" #Get top services with high resource utilization ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head #sectioning........... #Fetching server space details! echo -e "${YELLOW}-------------------- ------------------------------------------------------------------------------------------ -${NC}" echo "Server space Details:" echo -e "${YELLOW}-------------------------------------- ------------------------------------------------------------------------ -${NC}" #View disk space details df -h echo "------------------------------------------------------------------------------------- ---------------------------"

2、我们可以将该脚本转换为全局命令,将文件移动到 sbin 目录,并赋予执行权限。
linuxmi@linuxmi ~/www.linuxmi.com % sudo cp linuxmi /usr/sbin/ [sudo] linuxmi 的密码: linuxmi@linuxmi ~/www.linuxmi.com % sudo chmod +x /usr/sbin/linuxmi linuxmi@linuxmi ~/www.linuxmi.com
3、现在您可以在 shell 的任何位置调用该脚本。
linuxmi@linuxmi ~/www.linuxmi.com % linuxmi
示例输出如下:
优势
- 只需一个命令就可以轻松访问完整的服务器信息,并且还可以在出现问题时安排警报通知。
- 编辑脚本并添加服务非常简单。
- 显示有关正在运行的进程、磁盘空间、宕机时间、内存详细信息、高进程列表等的详细信息。
以上是使用Bash腳本編寫一個簡單又實用的Linux健康檢查工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本指南詳細介紹瞭如何使用SystemD配置自動服務在Linux中重新啟動,從而增強了系統的可靠性並最大程度地減少停機時間。 系統管理員通常依靠此功能來確保關鍵服務,例如Web服務器(APA

作為Linux用戶,我們經常依賴常用的命令ls、grep、awk、sed和find來完成工作。但Linux擁有大量鮮為人知的命令,可以節省時間、自動化任務並簡化工作流程。 本文將探討一些被低估但卻功能強大的Linux命令,它們值得更多關注。 rename – 高效批量重命名文件 當您需要一次重命名多個文件時,rename命令是救星。無需使用包含mv的循環,rename允許您輕鬆應用複雜的重命名模式。 將所有.txt文件更改為.log。 rename 's/\.txt$/\.log/' *

Linux 系統提供各種系統服務(例如進程管理、登錄、syslog、cron 等)和網絡服務(例如遠程登錄、電子郵件、打印機、Web 託管、數據存儲、文件傳輸、域名解析(使用 DNS)、動態 IP 地址分配(使用 DHCP)等等)。 從技術上講,服務是在後台持續運行的進程或進程組(通常稱為 守護進程),等待傳入請求(尤其來自客戶端)。 Linux 支持不同的方式來管理(啟動、停止、重啟、啟用系統啟動時的自動啟動等)服務,通常通過進程或服務管理器。幾乎所有現代 Linux 發行版現在都使用相同的進

使用Crossover 25運行Windows軟件和遊戲 由於CodeWeavers的Crossover 25,在Linux上運行Windows應用程序和遊戲現在比以往任何時候都容易。 這個商業軟件解決方案讓Linux用戶運行各種各樣的風
![PCLOUD-最安全的雲存儲[優惠50%]](https://img.php.cn/upload/article/001/242/473/174580357418126.jpg?x-oss-process=image/resize,p_40)
使用PCLOUD保護數據:Linux安裝的綜合指南 領先的安全雲存儲服務PCloud提供了一個可靠的平台來管理您的文件和數據。本指南詳細介紹了Linux系統上的安裝過程。 關於

MangoHud:實時監控Linux遊戲性能的利器 MangoHud是一款功能強大且輕量級的工具,專為遊戲玩家、開發者以及任何希望實時監控系統性能的用戶而設計。它作為Vulkan和OpenGL應用程序的疊加層,顯示FPS、CPU和GPU使用率、溫度等重要信息。本文將探討MangoHud的功能、工作原理以及使用方法,並提供在Linux系統上安裝和配置MangoHud的分步說明。 MangoHud是什麼? MangoHud是一個開源項目,可在GitHub上獲取,旨在提供一種簡單且可自定義的方式來監

管理存檔文件是Linux中的常見任務。本文是兩部分系列中的第一篇,探討了五種強大的命令行檔案工具,詳細介紹了他們的功能和示例的用法。 1。焦油命令:多功能存檔實用程序 t

本指南探討了用於比較Linux中文本文件的各種方法,Linux是系統管理員和開發人員的關鍵任務。 我們將介紹命令行工具和視覺差異工具,突出顯示其優勢和適當的用例。 假設


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver Mac版
視覺化網頁開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)