Ubuntu Trigger触发脚本执行的方法
Ubuntu Trigger是Ubuntu系统中用于自动化执行脚本的工具,支持时间规则、系统事件、文件变化等多种触发方式。以下是具体操作步骤:
在终端中执行以下命令,更新包列表并安装Ubuntu Trigger:
sudo apt update
sudo apt install ubuntu-trigger
创建需要执行的脚本(如my_script.sh),并添加具体命令(例如输出日志):
#!/bin/bash
echo "$(date): Script executed successfully!" >> /tmp/script_log.txt
保存后,赋予脚本可执行权限:
chmod +x /path/to/my_script.sh
通过ubuntu-trigger create命令,结合--every参数设置时间规则(支持cron语法),指定脚本路径:
ubuntu-trigger create --name "DailyBackup" --command "/path/to/my_script.sh" --every "0 2 * * *"
ubuntu-trigger create --name "WeeklyReport" --command "/path/to/my_script.sh" --every "30 8 * * 1"
若需在系统启动、用户登录等事件发生时触发脚本,使用--on参数指定事件类型:
ubuntu-trigger create --name "StartupTask" --command "/path/to/my_script.sh" --on "startup"
ubuntu-trigger create --name "LoginTask" --command "/path/to/my_script.sh" --on "login"
若需在指定目录或文件发生变化(如创建、修改、删除)时触发脚本,使用--type file、--path参数指定监控路径,--pattern参数匹配文件名(可选):
/data目录下所有.txt文件修改时执行:ubuntu-trigger create --name "FileChangeTrigger" --command "/path/to/my_script.sh" --type file --path "/data" --pattern "*.txt"
ubuntu-trigger list
ubuntu-trigger enable "DailyBackup" # 启用
ubuntu-trigger disable "DailyBackup" # 禁用
ubuntu-trigger delete "DailyBackup"
使用status命令查看指定触发器的执行情况:
ubuntu-trigger status "DailyBackup"
chmod +x)。PATH),需在脚本中显式设置,避免因环境差异导致执行失败。>> /tmp/script_log.txt),便于排查问题。