gpt4 book ai didi

rsync - 创建所有丢失的父目录?

转载 作者:行者123 更新时间:2023-12-03 07:41:09 25 4
gpt4 key购买 nike

我正在寻找一个类似于 rsync 的程序,它将在远程端创建任何丢失的父目录。

例如,如果我在一台服务器上有 /top/a/b/c/d 并且远程服务器上仅存在 /top/a,我想要将 d 复制到远程服务器,并创建 bc 目录。

命令:

rsync /top/a/b/c/d remote:/top/a/b/c

不起作用,因为远程服务器上不存在/tmp/a/b。如果它确实存在,那么文件 d 将被复制到路径 /top/a/b/c

这可以通过使用 --include--exclude 开关的 rsync 来完成,但它非常复杂,例如:

rsync -v -r a dest:dir  \
--include 'a/b' \
--include 'a/b/c' \
--include 'a/b/c/d' \
--include 'a/b/c/d/e' \
--exclude 'a/*' \
--exclude 'a/b/*' \
--exclude 'a/b/c/*' \
--exclude 'a/b/c/d/*'

即使中间目录有文件,也只会将a/b/c/d/e复制到dest:dir/a/b/c/d/e 。 (注意 - 包含必须先于排除。)

还有其他选择吗?

最佳答案

您可能正在寻找

rsync -aR

例如:

rsync -a --relative /top/a/b/c/d remote:/

另请参阅 other question 中的此技巧.

关于rsync - 创建所有丢失的父目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18491548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com