CentOS 启用消息推送的可选方案与步骤
一、快速选择
二、本机广播与定时推送
wall "系统将在5分钟后维护,请保存数据。"0 8 * * * /usr/bin/wall "这是一条定时消息"
/etc/systemd/system/send-message.service[Unit]
Description=Send a scheduled message
[Service]
ExecStart=/usr/bin/wall "这是一条定时消息"
/etc/systemd/system/send-message.timer[Unit]
Description=Run send-message.service every day at 8 AM
[Timer]
OnCalendar=*-*-* 08:00:00
Persistent=true
Unit=send-message.service
[Install]
WantedBy=timers.target
systemctl daemon-reload && systemctl enable --now send-message.timer三、服务器事件告警与第三方 Webhook
/etc/ssh/sshrc 或放到用户 profile),获取 用户、IP、时间、服务器IP,调用企业微信 API 发送文本消息;企业微信需提前准备 corpID、secret、agentID 并获取 access_token。{
"touser": "UserID",
"msgtype": "text",
"agentid": 1000002,
"text": { "content": "用户root在2025-08-22 10:00:00从1.2.3.4登录服务器10.0.0.1" },
"safe": 0
}
#!/usr/bin/env bash
WEBHOOK_URL="https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
MSG="$1"
curl -X POST -H 'Content-type: application/json' --data "{\"text\":\"$MSG\"}" "$WEBHOOK_URL"
四、自建团队推送平台
upstream gotify { server 127.0.0.1:9080; }
server {
listen 18080; server_name push.example.com;
location / {
proxy_pass http://gotify;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_connect_timeout 1m; proxy_send_timeout 1m; proxy_read_timeout 1m;
}
}
http://your-domain:18080,默认账号 admin/admin;在 APPS → CREATE APPLICATION 获取 Token 用于脚本推送。五、日志与邮件通知
*.* @192.0.2.10:514
systemctl restart rsyslogsystemctl start postfix && systemctl enable postfixecho "Test email body" | mail -s "Test Email" user@example.com