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