我尝试为自己制作一个小型 shell 脚本,用于监视文件更改,inotifywait
并复制修改/创建的文件并将已删除的文件删除到某个目标文件夹(或rsync
特定文件)。我无法完成这项工作。
调查:当我使用//编辑/删除/创建inotifywait
文件时能够检测到修改。当我使用 Visual Studio Code 修改/创建/删除文件时出现问题。当我尝试时,即使使用 Visual Studio Code,我也可以看到所有发生的修改。nano
vim
touch
rm
watch -d stat some_file
由于我对 Linux 不太熟悉,所以我无法弄清楚问题出在哪里。
我希望能够使用它,inotifywait
因为我想监视近 28000 个文件的更改。我不想使用watch
, ls
,的混合find
,stat
因为在 Virtual Box 共享文件夹上递归迭代整个目录很慢。也fs.inotify.max_user_watches
被增加到足够的数量。
为了完整起见,这里是简化的使用命令:
$ inotifywait --monitor --recursive /share/repo/