一、安装Ubuntu Trigger
在Ubuntu系统上使用apt包管理器安装Ubuntu Trigger,需先更新包列表再执行安装:
sudo apt update
sudo apt install ubuntu-trigger
安装完成后,可通过ubuntu-trigger --version验证是否安装成功。
二、启动Ubuntu Trigger服务
若服务未自动启动,需手动开启(后续创建触发器后建议保持开启状态):
sudo systemctl start ubuntu-trigger
如需开机自启,可执行:
sudo systemctl enable ubuntu-trigger
三、创建触发器
触发器分为时间触发和系统事件触发两类,以下是具体用法:
通过--every参数指定Cron格式的时间规则(如每天凌晨2点、每周一8点30分):
# 每天凌晨2点执行脚本
ubuntu-trigger create --name "DailyBackup" --command "/home/user/backup.sh" --every "0 2 * * *"
# 每周一8:30执行脚本
ubuntu-trigger create --name "WeeklyReport" --command "/home/user/generate_report.sh" --every "30 8 * * 1"
其中,--name为触发器名称(便于后续管理),--command为要执行的脚本/命令路径(需替换为实际路径)。
通过--on参数绑定系统事件(如启动、关机、用户登录),例如在系统启动时执行脚本:
ubuntu-trigger create --name "StartupCleanup" --command "/home/user/cleanup_temp.sh" --on "startup"
支持的常见事件包括startup(系统启动)、shutdown(系统关机)、login(用户登录)等。
四、配置与管理触发器
创建后,可通过以下命令管理触发器:
列出所有触发器及其详情(名称、命令、时间/事件规则):
ubuntu-trigger list
使用edit命令进入交互式界面调整触发器属性(如修改执行时间、命令路径):
ubuntu-trigger edit "DailyBackup"
界面中可直接修改name(名称)、command(命令)、every(时间规则)或on(事件)字段。
通过名称删除不再需要的触发器:
ubuntu-trigger delete "WeeklyReport"
五、监控触发器状态
使用status命令查看指定触发器的执行情况(如最近执行时间、状态是否正常):
ubuntu-trigger status "DailyBackup"
输出结果会显示触发器的最后一次执行时间、是否成功等信息,帮助排查问题。
六、注意事项
chmod +x /path/to/your/script.sh
PATH),需在脚本中显式设置(如在脚本开头添加export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin),避免因环境差异导致执行失败。echo "$(date): Task started" >> /var/log/trigger.log),便于后续查看执行记录和排查问题。