You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境下Autosys作业自动触发需求:dat文件生成时执行

实现文件创建自动触发Autosys作业的Linux脚本方案

当然可以,Linux上常用inotify-tools来监控文件系统事件(比如文件创建),结合Autosys的触发命令就能实现需求。以下是具体实现步骤:

1. 安装inotify-tools

inotify-tools是一套命令行工具,用于监控文件系统的变化,不同发行版的安装命令如下:

  • CentOS/RHEL 系统:
    sudo yum install inotify-tools
    
  • Debian/Ubuntu 系统:
    sudo apt install inotify-tools
    

2. 编写监控脚本

创建一个名为dat_file_watcher.sh的脚本,内容如下(根据实际环境修改路径和作业名):

#!/bin/bash

# 替换为你的dat文件存放目录
MONITOR_DIR="/opt/data/processed_dats"
# 替换为你的Autosys作业名称
AUTOSYS_JOB="process_dat_job"

# 持续监控目录下的文件创建事件,仅处理.dat后缀的文件
inotifywait -m -e create --format '%f' "$MONITOR_DIR" | while read FILE_NAME
do
    if [[ "$FILE_NAME" =~ \.dat$ ]]; then
        echo "$(date): Detected new dat file $FILE_NAME, triggering Autosys job..."
        # 调用Autosys的sendevent命令触发作业
        # 如果需要传递文件路径给作业,可添加-P参数传递自定义变量
        sendevent -E FORCE_STARTJOB -J "$AUTOSYS_JOB"
    fi
done

3. 配置脚本权限与测试

  • 给脚本添加执行权限:
    chmod +x dat_file_watcher.sh
    
  • 先手动运行脚本测试:
    ./dat_file_watcher.sh
    
    然后在监控目录创建一个.dat文件,检查是否成功触发Autosys作业。

4. 让脚本持久运行

为了避免终端关闭后脚本停止,可通过以下方式让脚本后台持续运行:

方式一:使用nohup

nohup ./dat_file_watcher.sh > /var/log/dat_watcher.log 2>&1 &

日志会输出到/var/log/dat_watcher.log,方便后续排查问题。

方式二:配置systemd服务(推荐)

创建systemd服务文件/etc/systemd/system/dat-watcher.service:

[Unit]
Description=Monitor new .dat files and trigger Autosys job
After=network.target

[Service]
User=autosys_user  # 替换为有权限执行sendevent的用户
ExecStart=/path/to/dat_file_watcher.sh
Restart=always  # 服务器重启或脚本意外退出时自动重启

[Install]
WantedBy=multi-user.target

然后执行以下命令启用服务:

sudo systemctl daemon-reload
sudo systemctl start dat-watcher.service
sudo systemctl enable dat-watcher.service

注意事项

  • 确保运行脚本的用户能正常执行sendevent命令,并且已加载Autosys的环境变量(可在脚本开头添加. /path/to/autosys/profile来加载)。
  • 提前单独测试sendevent -E FORCE_STARTJOB -J 你的作业名,确认该命令能正常触发Autosys作业。
  • inotifywait的-m参数表示持续监控,-e create指定监控文件创建事件,--format '%f'仅输出文件名简化后续判断。

内容的提问来源于stack exchange,提问作者Mani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:51:00