在 Ubuntu(以及一般的 Linux 系统)里,“trigger 失效”这个说法本身比较模糊,因为 Ubuntu 里常见的“trigger”至少有几种不同含义。我先按最常见的几种情况给你解释,你对照看看是哪一种。
如果你说的是 systemd timer / trigger 没执行:
systemctl list-timers
systemctl status your.timer
必须是 enabled 且 active
[Timer]
OnCalendar=*-*-* 03:00:00
Unit=your.service
Unit= 必须和 .service 文件名一致
时间格式错误
Ubuntu 对 OnCalendar 格式很严格
系统休眠 / 关机
timer 不会补执行(除非用 Persistent=true)
✅ 修复示例:
systemctl enable your.timer
systemctl start your.timer
如果你说的是:
udevadm trigger
没生效:
/etc/udev/rules.d/99-xxx.rules
规则语法错误会导致整条失效
udevadm control --reload
udevadm trigger --action=change
Ubuntu 的 dpkg trigger 没执行:
sudo dpkg --configure -a
trigger 未注册
DEBIAN/triggers 文件缺失
apt 缓存异常
sudo apt update
sudo apt install -f
如果你是指:
那可能是:
请补充一句:
你指的是 哪种 trigger?
有没有 报错信息 / 日志?
journalctl -xe
我可以直接帮你定位并修好。