温馨提示×

怎么配置ubuntu trigger

小樊
44
2026-10-06 15:14:42
栏目: 智能运维

你提到的 “Ubuntu trigger” 可能有几种不同含义,我先分情况说明,你看看哪一种符合你的需求。


一、如果你说的是 systemd timer(类似 cron 的 trigger)

在 Ubuntu 中常用 systemd timer 来“触发”任务。

1. 创建 service

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

内容示例:

[Unit]
Description=My Task

[Service]
ExecStart=/usr/bin/bash /opt/mytask.sh

2. 创建 timer

sudo nano /etc/systemd/system/mytask.timer

示例(每天 3 点触发):

[Unit]
Description=Run mytask daily

[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true

[Install]
WantedBy=timers.target

3. 启用

sudo systemctl daemon-reexec
sudo systemctl enable --now mytask.timer

查看:

systemctl list-timers

二、如果你说的是 inotify / 文件变化 trigger(如 incron)

当文件或目录变化时触发脚本。

安装 incron

sudo apt install incron

配置

sudo incrontab -e

示例(/var/www 文件变化时执行):

/var/www IN_MODIFY /opt/script.sh $@/$#

三、如果你说的是 Git / CI trigger(如 GitHub Actions / Jenkins)

如果是 Ubuntu 上跑 CI:

  • Jenkins:使用 build trigger
  • GitHub Actions:
on:
  push:
    branches: [main]

四、如果你说的是 Ubuntu 内核 / udev trigger

硬件插入触发:

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

示例(USB 插入执行):

ACTION=="add", SUBSYSTEM=="usb", RUN+="/opt/usb.sh"

重载:

sudo udevadm control --reload

五、如果你指的是 其他“trigger”工具

例如:

  • triggerhappy
  • watchexec
  • autorandr

可以告诉我:

  1. 你是定时触发还是事件触发?
  2. 触发的是脚本 / 服务 / 硬件?

我可以直接给你一份可复制的配置。

0 踩