我在目录中有文件,文件名中带有模式(“ IMP-”)。我需要将文件从目录A复制到目录B。但是我也将文件保留在目录A中。因此,为了只复制目录B中的新文件,我需要在每次执行操作时首先列出复制,将文本文件中的文件名(list.txt),然后仅复制文本文件中未列出的文件。
例如
目录A(/ home / ftp / recep /) 文件,例如可以是:
/home/recep/IMP-avis2018.txt
/home/recep/IMP-avis2018.pdf
/home/recep/IMP-avis2017.jpg
/home/recep/IMP-avis2017.pdf
目录B(/ home / ftp / transfert /)
需要将所有带有IMP *的文件复制到目录B(/ home / ftp / transfert /)。 当在目录A中收到一个新文件时,我需要将此文件(也只有此文件)复制到目录B(其中文件最多保留2小时)
我想也许我可以用rsync来做点什么,但是我找不到合适的选择。 因此,也许它可能是bash脚本。 动作将是:
答案 0 :(得分:1)
您可以尝试选项-n
。手册页显示:
-n,--no-clobber
不要覆盖现有文件(覆盖先前的-i选项)
所以
cp -n A/* B/
应该将所有文件从A复制到B,但已经在B中的文件除外。
另一种方法是rsync:
rsync -vu A/* B/
这会将文件从A同步到B,并打印实际复制的文件。