Linux

如果 inotifywait 不可用,如何查看到達文件?

  • October 9, 2015

當其他機器通過 FTP 發送文件時,我有一個目錄被寫入。我想放置一些東西來通知文件何時到達並且如果它們的文件名包含特定的子字元串(如“jpg”),則將文件移動到其他目錄(僅在文件完成到達之後,而不是之前)

我想把它放在許多不同類型的 Linux 機器上。一個這樣的盒子有 Linux 核心 2.4.22。可能有更老的。我還在檢查。

在較舊的機器上,我看到了這個:inotifywait: command not found.

我也看過這個:The inotify API is available in Linux 2.6.13 and later

還有這個:bash: watch: command not found

POSIX sh 或 bash 或 C 中的想法可以工作。Perl 和 Python 可能在我想執行它的所有地方都不可用。我沒有安裝軟體包的權限。

我很久以前寫了這個 Perl 程序,如果你理解它,它可以幫助你入門。它使用核心中的 inotify 功能。

http://www.win2ix.ca/2013/05/31/606/

您必須將程式碼從同步更改為執行您需要的任何操作,但大部分都在那裡。

我知道你對 Perl 有問題,但我想把這個給你以防萬一。

如果有幫助,這裡有一個關於如何使用 C 的展示

http://man7.org/tlpi/code/online/diff/inotify/demo_inotify.c.html

引用自:https://serverfault.com/questions/727697