3

我必须将目录中的文件复制到其备份目录,同时保留文件夹结构。例如文件aaaMyFolder/Test/aaa.MyFolder.bck/Test/aaa

我试着用

cp --parents MyFolder/Test/aaa .MyFolder.bck;

但结果是.MyFolder.bck/MyFolder/Test/aaa而不是.MyFolder.bck/Test/aaa(这是我想要的)。

4

3 回答 3

1

您需要到cd目录,然后复制文件:

(cd MyFolder && cp --parents Test/aaa ../.MyFolder.bck)

命令周围的方括号使其在子 shell 中运行,而不是在当前 shell 中运行。这样做的好处是它使您不必cd事后回到原始目录。

于 2013-04-25T08:22:13.890 回答
0

我喜欢为此使用“rsync”。

rsync -av MyFolder/ .MyFolder.bck/

确保使用尾部斜杠,因为它们告诉 rsync 这两个参数都是“顶级”目录(也就是说,不要在 .MyFolder.bck 中创建另一个 MyFolder)。

于 2013-04-29T17:11:49.407 回答
0

为什么不使用两个命令?

cd MyFolder && cp --parents /Test/aaa .MyFolder.bck;

Linux 也有几个同步实用程序,甚至用于备份目的,例如 rsync、rdiff-backup、synkron……更不用说本地 VCS 的优点……你不应该重新发明轮子。

于 2013-04-25T08:09:03.640 回答