ubuntu

ubuntu定时器支持哪些触发器

小樊
52
2025-09-27 05:20:17
栏目: 智能运维

Ubuntu定时器(主要基于systemd-timer)支持的触发器类型及说明

1. 时间触发器(Calendar-based Triggers)

时间触发器是systemd定时器的核心功能之一,支持绝对时间(如每天固定时刻)、周期时间(如每周一、每月1号)和相对时间(如系统启动后、上次任务完成后)的触发规则。常见配置项包括:

2. 文件系统触发器(Filesystem Event Triggers)

通过inotify机制监控文件或目录的变化(如创建、删除、修改、属性变更),当检测到指定事件时触发任务。常用工具包括:

3. 设备状态触发器(Device State Triggers)

通过udev规则监控硬件设备的插拔、状态变化(如USB设备插入、网卡启用),触发关联任务。配置文件位于/etc/udev/rules.d/(如99-usb-backup.rules),规则示例:

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", ATTR{idProduct}=="yyyy", RUN+="/path/to/backup.sh"

该规则表示当检测到指定厂商(idVendor)和产品(idProduct)的USB设备插入时,执行backup.sh脚本(如备份设备数据)。

4. 服务依赖触发器(Service Dependency Triggers)

通过systemd的依赖机制,设置定时器或服务在其他服务就绪系统状态满足时触发。常见配置项包括:

5. 随机延迟触发器(Randomized Delay Triggers)

通过RandomizedDelaySec配置项设置随机延迟时间(如RandomizedDelaySec=30m),在触发时间基础上增加0到指定时间的随机延迟,避免多个定时任务同时启动(如多个备份任务同时运行导致磁盘IO过高)。该触发器常用于负载均衡场景,优化系统资源使用。

6. 条件时间触发器(Conditional Time Triggers)

结合时间表达式条件判断,仅在满足特定条件时触发任务。常见配置项包括:

0
看了该问题的人还看了