Inotify

在 incron 作業中一次允許一個條目?

  • June 16, 2016

我有一個要監視的目錄。更新後,我通過 incron 執行一些命令。當在該目錄下複製多個文件時,incron 會同時執行多個命令。有沒有什麼辦法可以讓 incron 的一項工作在執行時,第二項工作不應該執行?我已按照本教程進行指導。

不,incron 沒有內置鎖定功能。如果要阻止作業同時執行,請在作業中執行。

如果你想延遲一個工作直到前一個工作完成,讓他們鎖定。您可以使用該flock命令。手冊頁中有範例。

如果前一個作業沒有完成,你想跳過一個作業,你仍然可以使用flock,但超時為0。如果你不能獲得鎖,退出。請注意,這很容易出現競爭條件:可能會在作業 #1 完成列舉文件之後但在它有時間釋放鎖之前複製一個新文件,並且作業 #2 會看到鎖是仍然保持並退出而不處理文件。解決這場比賽沒有簡單的方法。

引用自:https://unix.stackexchange.com/questions/263798