用於在目錄中尋找新檔案並執行命令的腳本

用於在目錄中尋找新檔案並執行命令的腳本

我有一個目錄,其中包含幾個甚至數百個 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 秒。

該操作只是對找到的文件的回顯,您可以輸入自己的操作。

相關內容