CentOS系統消息通知最佳實踐
echo "通知內容" | wall
(需root權限)。適用于緊急情況,確保所有用戶即時收到信息。who
命令查看目標用戶的TTY;② 執行write 用戶名 TTY
,輸入消息后按Ctrl+D
結束。適用于一對一溝通。write
消息,mesg -n
關閉接收,mesg -y
開啟接收。用于保護隱私或避免干擾。libnotify
),格式為notify-send "標題" "內容"
。適用于本地桌面用戶的非緊急提醒(如磁盤空間不足)。sudo yum install mailx
;/etc/mail.rc
,添加set smtp=smtp.gmail.com:587; set smtp-auth=login; set smtp-auth-user=your_email@gmail.com; set smtp-auth-password=your_app_password; set from=your_email@gmail.com
(需開啟Gmail“允許不夠安全的應用”或使用應用專用密碼)。crontab -e
),添加MAILTO="your_email@example.com"
;② 設置定時任務(如每小時檢查/var/log/messages
中的ERROR日志):0 * * * * grep "ERROR" /var/log/messages | mail -s "Hourly Error Report" your_email@example.com
。適用于持續監控系統狀態。journalctl
過濾日志并觸發通知,示例腳本(檢測ERROR日志并發送桌面通知):#!/bin/bash
journalctl -b | grep -i "error" | while read line; do
notify-send "系統錯誤" "$line"
done
將腳本添加到cron(如每10分鐘運行一次),實現實時報警。curl -X POST -H 'Content-type: application/json' --data '{"text":"系統通知:磁盤空間不足"}' https://hooks.slack.com/services/your_webhook_url
適用于需要接入企業協作工具的場景,提升通知的可達性和協作效率。pushover -t your_api_token -u "系統通知" "服務器負載過高"
適用于需要移動端通知的場景,確保用戶隨時隨地收到重要信息。echo "測試通知" | wall
)確認渠道暢通。/var/log/messages
),便于后續審計和排查問題。