按计划复制目录linux

时间:2014-04-04 13:46:47

标签: linux bash shell scripting sh

我正在寻找一个脚本的帮助,该脚本允许我按计划将新目录的内容或整个目录复制到另一个目录,或者当新文件到达源时。

例如:

/stuff/folder1/file.txt

复制到:

/stuff/folder2/file.txt

在新文件到达时或在定期计划中。

我确实使用Centos机器。

1 个答案:

答案 0 :(得分:2)

每当您保存新文件或更新folder2时,您都可以使用以下程序更新folder1

while inotifywait -r -e modify -e move -e create -e delete; do
    cp -r /stuff/folder1/. /stuff/folder2/
done

对于日程安排,我会将cp -r /stuff/folder1/. /stuff/folder2/添加到cron job。您可以使用rsync代替cp。另请查看manpage of inotifywait

注意:上述脚本将在目录folder1内更改第一个文件后启动副本。如果同时修改folder1中的许多文件,则可能需要在while循环中放置sleep命令。但在这种情况下,最好在程序末尾添加复制命令,以改变folder1的文件。