shell監控腳本
『壹』 linux上使用shelle腳本如何實時監控文件屬性時間更新後,執行另外shell腳本
想必你已經在chinaunix上找到答案了吧。
a=`stat -c %Y filename`;b=`date +%s`;if [ $[ $b - $a ] -gt 180 ];then command;else othercommand;fi就挺好的
但是你要注意在crontab中執行的時候需要加source一下環境變數,不然有些命令會找不到路徑。
如:
0-59 * * * * . /etc/profile;a=`stat -c %Y filename`;b=`date +%s`;if [ $[ $b - $a ] -gt 180 ];then command;else othercommand;fi
. /etc/profile可以換成你用戶目錄下的配置文件.
C shell的為 .cshrc 在用戶主目錄下
bashell的為 .bashrc 在用戶主目錄下
kshell的為.profile 在用戶主目錄下
『貳』 linux shell腳本監控kafka,如果掛了自動重啟
實現Kafka服務監控與自動重啟的Linux shell腳本如下所示。此腳本適用於定時檢查Kafka服務狀態,並在服務未運行時自動啟動服務。
腳本主要分為以下部分:
1. **定義變數**:腳本中定義了Kafka服務的安裝路徑(KAFKA_HOME)、日誌文件路徑(KAFKA_LOG)以及進程ID文件路徑(KAFKA_PID_FILE)。
2. **檢查Kafka服務**:`check_kafka`函數用於驗證進程ID文件是否存在且進程是否仍在運行。如果服務未運行,則執行啟動操作。
3. **啟動Kafka服務**:`start_kafka`函數使用`nohup`命令在後台啟動Kafka,同時將輸出重定向至日誌文件。啟動成功後,腳本會記錄進程ID。
4. **循環檢查**:在主循環中,腳本每隔10秒執行一次`check_kafka`函數,確保Kafka服務始終運行。
注意:此腳本作為示例,根據具體環境可能需進行適當調整。確保在安全的環境下運行,避免執行可能造成數據丟失或其他不可逆操作的命令。
通過上述腳本,可實現Kafka服務的自動化監控與故障恢復,確保服務連續性,提升系統穩定性。
『叄』 shell腳本監控mysql主從同步,同步出錯時並發送郵件到指定郵箱
#!/bin/bash
#check MySQL_Slave Status
#crontab time 00:10
MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $4}'`
MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`
STATUS=$(/usr/local/webserver/mysql/bin/mysql -u yuhongchun -pyuhongchun101 -S /tmp/mysql.sock -e "show slave status\G" | grep -i "running")
IO_env=`echo $STATUS | grep IO | awk ' {print $2}'`
SQL_env=`echo $STATUS | grep SQL | awk