温馨提示×

如何监控ubuntu trigger

小樊
45
2026-09-15 19:55:28
栏目: 智能运维

在 Ubuntu 里,“trigger” 这个词可能出现在几个不同的场景里,所以下面我按最常见的几种含义来说明如何“监控 trigger”。


一、如果你说的是 systemd trigger(最常见的理解)

Ubuntu 使用 systemd,trigger 通常是 .service / .timer / .path / .socket 触发的动作

1️⃣ 查看谁触发了某个服务

systemctl list-triggers

(部分 systemd 版本支持)

查看某个服务被什么触发:

systemctl show xxx.service -p TriggeredBy

2️⃣ 实时监控 trigger 行为

journalctl -f

或只看某个服务:

journalctl -u xxx.service -f

查看 trigger 来源:

journalctl -u xxx.service | grep -i trigger

3️⃣ 监控 .path 触发的服务(最常见 trigger)

例如:

# /etc/systemd/system/watch.path
[Path]
PathModified=/data/

[Install]
WantedBy=multi-user.target

监控是否触发:

systemctl status watch.path
journalctl -u watch.path -f

二、如果你说的是 apt / dpkg trigger

Ubuntu 的 apt 安装包时会有 dpkg trigger

查看 trigger 执行情况

cat /var/log/dpkg.log | grep trigger

实时监控:

tail -f /var/log/dpkg.log

手动触发:

dpkg --configure -a

三、如果你说的是 cron / 定时任务 trigger

查看 cron 是否触发

systemctl status cron
journalctl -u cron -f

用户 cron:

crontab -l

四、如果你说的是 inotify / 文件变化 trigger

例如监听目录变化:

inotifywait -m /path/to/dir

安装:

sudo apt install inotify-tools

五、如果你说的是自定义脚本 trigger

可以:

  • 写日志
  • systemdauditd 监控

auditd 监控(高级)

sudo apt install auditd
sudo auditctl -w /path -p wa -k my_trigger
sudo ausearch -k my_trigger

六、快速判断你属于哪种 trigger

你可以告诉我:

  1. 系统服务被触发
  2. 文件变化触发脚本
  3. apt 安装时触发
  4. 还是 你自己写的程序 trigger

我可以直接给你针对性的监控命令或方案

0