Autosys文件观察器

时间:2011-10-11 21:31:01

标签: java shell autosys

我的任务: 需要在服务器A的特定目录中查找任何新的/更新的文件。一旦在此直接文件中存在文件新/修改文件,我将需要将该文件ftp到服务器B.

我可以使用Autosys和shell脚本吗?或者Java程序是否更适合这项任务?

如果我使用Autosys,我可以设置文件观察器作业。成功后我可以触发另一份工作。但是这个工作怎么知道文件名呢?文件监视器是否足够智能,可以将文件名作为参数传递给另一个作业?

请帮忙......

2 个答案:

答案 0 :(得分:4)

文件观察程序作业用于检查文件是否存在并检查文件的大小。您必须提前知道文件的名称。在您的情况下,如果您可以接收任何数量的事先不知道其名称的新文件,则文件观察程序作业将不起作用。

一个合理的解决方案可能是:

  1. 写一个将要的shell脚本
    • 获取您正在观看的目录的ls -l并将其保存到文件
    • 将此文件与上次运行脚本
    • 生成的文件进行比较
    • 找出新文件和已更改的文件并将其ftp到目的地
  2. 安排autosys中的脚本定期运行,比如说每10分钟一次。

答案 1 :(得分:0)

  1. 编写一个shell脚本 - 一个)。 cd到那个目录 B)。使用find命令查找所有文件,可以选择文件扩展名 在寻找,例如。 * .txt或* .csv。如果你也可以选择时间字段 想要检查不超过特定时期的文件。 要么 在你的情况下,你可以维护文件的版本控制,一旦文件出现并通过find命令找到,你可以重命名该文件。这样你就可以确保你有最新的ftp文件。 您可以通过在您不想拥有它们的天数之后创建逻辑来归档或清除旧文件。 C)。将find的输出发送到文件,测试文件,如果它不是empty.ftp那个文件 到服务器B。
  2. 将此脚本安排在每隔几分钟运行一次的作业中,具体取决于 文件到达的频率。
  3. 在成功条件中,检查上一次作业是否成功。