你提到的 “CentOS trigger” 可能有几种不同含义,我先按常见情况分别说明,你可以对照看是哪一种。
在 CentOS 7/8/Stream 中,systemd 常用 .trigger 或 triggers 相关机制(如 systemd-udev-trigger、systemctl trigger)。
# 手动触发所有 udev 规则
sudo udevadm trigger
# 指定设备触发
sudo udevadm trigger --action=add --subsystem-match=block
验证:
sudo udevadm monitor
某些服务支持 systemctl trigger:
systemctl trigger <service>.service
查看是否生效:
systemctl status <service>
journalctl -u <service>
这是打包时的 RPM 脚本触发器。
示例:
%triggerin -- some-package
echo "trigger executed" >> /tmp/trigger.log
测试:
rpm -ivh your-package.rpm
rpm -ivh some-package.rpm
cat /tmp/trigger.log
# 测试 cron 是否触发
* * * * * echo "trigger test" >> /tmp/cron.log
查看:
tail -f /tmp/cron.log
可以简单写一个测试脚本:
cat > /usr/local/bin/test-trigger.sh <<'EOF'
#!/bin/bash
echo "trigger fired at $(date)" >> /tmp/trigger.log
EOF
chmod +x /usr/local/bin/test-trigger.sh
然后手动或定时调用验证。
你可以补充一下:
我可以给你精确命令和示例。