我想创建一个 Bash 脚本,它将坐下来监听目录,当添加新目录或文件时,它将递归地将每个文件复制到另一个位置。例如:
我可以将脚本设置为坐下来听我的家庭目录
/home/
然后当我添加一个新目录时
test
,包含test.txt
该脚本将复制
test/test.txt
到,例如,/home/user/Desktop/test
我无法安装inotifywait
。这可能吗?谢谢
答案1
你可以做的是有一个每小时运行一次的 cronjob,它使用如下所示的函数,当然你可以使用不同的时间。
find /home/user/ --mmin -60 -exec echo This file changed: {} \;
这将输出在给定时间内修改的每个文件,例如上面的 60 分钟。
这是我想出的一个例子。它复制发生更改的目录,它只复制根最上层目录,因此效率不高。
find /home/name/* -maxdepth 0 -mmin -60 -exec cp -r {} /some/other/dir/ \;