編寫高效的Linux日志腳本可以幫助你更好地監控和管理系統日志。以下是一個基本的步驟和示例,展示如何編寫一個高效的日志腳本。
grep
, awk
, sed
, tail
, watch
等命令行工具來處理日志。cron
設置定時任務,定期運行日志腳本。以下是一個簡單的日志監控腳本示例,用于監控/var/log/syslog
文件中的錯誤日志,并將結果發送到指定的郵箱。
#!/bin/bash
# 日志文件路徑
LOG_FILE="/var/log/syslog"
# 郵箱地址
EMAIL="your_email@example.com"
# 錯誤日志關鍵字
ERROR_KEYWORD="ERROR"
# 獲取當前日期和時間
DATE=$(date +"%Y-%m-%d %H:%M:%S")
# 使用grep過濾出包含錯誤關鍵字的日志行
ERROR_LOGS=$(grep "$ERROR_KEYWORD" "$LOG_FILE")
# 檢查是否有錯誤日志
if [ -n "$ERROR_LOGS" ]; then
# 構建郵件內容
EMAIL_CONTENT="Error logs detected at $DATE:\n\n$ERROR_LOGS"
# 發送郵件
echo -e "$EMAIL_CONTENT" | mail -s "System Error Log Alert" "$EMAIL"
fi
使用cron
設置定時任務,每5分鐘運行一次腳本。
編輯crontab
文件:
crontab -e
添加以下行:
*/5 * * * * /path/to/your/log_monitor_script.sh
logrotate
工具進行日志輪轉。awk
或sed
進行處理。通過以上步驟和示例,你可以編寫一個基本的日志監控腳本,并根據實際需求進行擴展和優化。