监视触发器文件并复制该目录中的所有文件

时间:2015-04-01 15:16:03

标签: linux shell unix file-copying

我是Unix Scripting的新手。对不起,这个问题听起来很愚蠢。我有一个脚本,它将文件从Landingzone复制到Archive目录。

现在,我想写一个脚本,它检查test.txt文件(就像一个触发器文件),只有找到它然后复制所有在test.txt文件之前到达的文件。 Landingzone归档。请告诉我怎么做?

我之所以提到这是脚本,因为除了复制之外,我还有更多的命令。

1 个答案:

答案 0 :(得分:0)

这应该有效

ARCHIVE=...             # archive directory
cd Landingzone

if [ -f test.txt ]; then
    find . -type f -maxdepth 1 ! -name test.txt ! -newer test.txt -exec cp {} $ARCHIVE ';'
fi

说明: 感谢if [-f ...];只有test.txt存在时才会执行所有操作。然后我们调用find来

  • 仅搜索普通文件(' -f')
  • 排除子目录(-maxdepth 1)
  • 排除test.txt本身(!-name test.txt)
  • 排除比test.txt(!-newer test.txt)
  • 更新的文件
  • 将找到的所有文件复制到存档目录(-exec ...)