温馨提示×

怎么创建ubuntu trigger

小樊
40
2026-10-09 14:06:23
栏目: 智能运维

在 Ubuntu(或一般 Linux)里,“trigger” 这个词可能指几种不同东西,下面我按常见场景给你说明,你看看你指的是哪一种。


一、systemd trigger(最常见)

如果你是想在某个事件发生时自动执行任务(比如开机、网络就绪、U 盘插入等),用的是 systemd。

1. 创建 service

sudo nano /etc/systemd/system/hello.service

内容示例:

[Unit]
Description=Hello Trigger

[Service]
Type=oneshot
ExecStart=/usr/bin/echo "Triggered!"

2. 创建 trigger(通过 path / timer / socket)

示例:文件变化触发(path trigger)

sudo nano /etc/systemd/system/watch.path
[Unit]
Description=Watch file

[Path]
PathModified=/tmp/test.txt

[Install]
WantedBy=multi-user.target

启用:

sudo systemctl enable --now watch.path

当 /tmp/test.txt 被修改时,hello.service 会被触发。


二、APT trigger(软件包相关)

如果你是指 dpkg / apt 的 trigger:

# 查看已注册的 trigger
dpkg-trigger --help

在打包时定义:

# debian/triggers
interest /usr/share/mylib

通常不推荐普通用户使用。


三、cron / anacron(定时触发)

如果是定时任务:

crontab -e

示例(每天 3 点):

0 3 * * * /path/script.sh

四、udev trigger(硬件事件)

U 盘、网卡等硬件触发:

sudo nano /etc/udev/rules.d/99-mytrigger.rules

示例:

ACTION=="add", SUBSYSTEM=="block", RUN+="/usr/local/bin/usb.sh"

五、你指的“trigger”是?

你可以告诉我:

  • ✅ 开机 / 定时 / 文件变化?
  • ✅ 硬件插入?
  • ✅ 软件包安装?
  • ✅ Docker / Kubernetes?

我可以直接给你完整可用的配置示例。

0 踩