用于在目录中查找新文件并执行命令的脚本

用于在目录中查找新文件并执行命令的脚本

我有一个目录,里面有好几个甚至好几百个 xml 文件。我想在发现新文件时执行一个脚本。唯一的主要问题是我不能使用 inotifywait 或类似的东西。由于安装权限的限制。(我确实有权限,但由于协议不允许,因为它由我们的供应商维护)。所以我可以使用脚本,使用基本的 Linux 工具,但不能安装新工具。另外需要注意的是,它必须为一个相当老的操作系统 opensuse 10.2 编写。

希望有人能帮助我指明正确的方向。

问候,

答案1

下面是一个在循环中使用“find -newer”的简单 bash 脚本的简短示例:

#!/bin/bash
while [ 1 ]; do
  newfiles=`find /tmp -newer /tmp/.my_marker 2>/dev/null`
  touch /tmp/.my_marker
  if [ -n "$newfiles" ]; then
    echo "found files $newfiles"
  fi
  sleep 5
done

在此示例中,脚本使用每次更新的 /tmp/.my_marker 的修改时间查找自上次循环以来在 /tmp 中发生更改的文件。循环在下次检查前休眠 5 秒。

该操作只是对找到的文件的回显,您可以改为执行自己的操作。

相关内容