温馨提示×

怎样监控ubuntu trigger

小樊
46
2026-09-27 20:38:27
栏目: 智能运维

在 Ubuntu 里,“trigger” 这个词可能指几种不同东西,我先按最常见的几种场景给你说明,你可以看哪一类符合你的需求。


一、如果你指的是 systemd 的 trigger(单元触发)

Ubuntu 大量使用 systemd,很多服务是由 trigger / path / timer / socket 触发的。

1. 查看有哪些 trigger 相关单元

systemctl list-units --type=trigger
systemctl list-units --type=path
systemctl list-units --type=timer
systemctl list-units --type=socket

2. 实时监控 trigger 是否被触发

journalctl -f

或只看某个服务:

journalctl -u your-service.service -f

3. 查看某服务被谁触发

systemctl show your-service.service -p TriggeredBy
systemctl show your-service.service -p PartOf

4. 监控 path trigger(文件变化触发)

例如:

# /etc/systemd/system/xxx.path
[Path]
PathChanged=/var/log/test.log

查看状态:

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

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

Ubuntu 的 apt 在安装软件时常用 dpkg triggers。

查看触发了哪些操作

sudo apt install -f
sudo dpkg --configure -a

查看 trigger 日志

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

手动触发

sudo dpkg --triggers-only package_name

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

查看 cron 触发

systemctl status cron
cat /var/log/syslog | grep CRON

实时监控 cron

tail -f /var/log/syslog | grep CRON

四、如果你指的是“某个事件 → 脚本执行”(自定义 trigger)

常见做法:

  • inotifywait(文件变化)
  • systemd path
  • auditd

inotify 示例

sudo apt install inotify-tools
inotifywait -m /path/to/dir

五、如果你指的是内核 / udev trigger

查看 udev 触发

udevadm monitor

手动 trigger

sudo udevadm trigger

六、推荐监控方案(通用)

如果你只是想“知道 Ubuntu 里什么时候发生了 trigger”:

journalctl -f

配合:

systemctl monitor

如果你能补充说明:

  • 是 systemd / apt / cron / 自定义脚本 哪一种?
  • 想监控的是 服务启动、文件变化、软件安装还是硬件事件?

我可以直接给你可复制的监控命令或配置示例。

0 踩