【发布时间】:2013-02-13 19:20:27
【问题描述】:
假设有一些文件夹具有这些结构
/bench1/1cpu/p_0/image/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_1/image/
/bench1/1cpu/p_1/fl_1/
/bench1/1cpu/p_1/fl_1/
/bench1/1cpu/p_1/fl_1/
/bench1/1cpu/p_1/fl_1/
/bench1/2cpu/p_0/image/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_1/image/
/bench1/2cpu/p_1/fl_1/
/bench1/2cpu/p_1/fl_1/
/bench1/2cpu/p_1/fl_1/
/bench1/2cpu/p_1/fl_1/
....
我要做的是scp以下文件夹
/bench1/1cpu/p_0/image/
/bench1/1cpu/p_1/image/
/bench1/2cpu/p_0/image/
/bench1/2cpu/p_1/image/
如您所见,我想递归使用scp,但不包括所有名为“fl_X”的文件夹。 scp好像没有这个选项。
更新 scp 没有这样的功能。相反,我使用以下命令
rsync -av --exclude 'fl_*' user@server:/my/dir
但它不起作用。它只传输文件夹列表!!类似ls -R
【问题讨论】:
-
查看rsync,它可以使用
scp(或至少ssh)作为其传输机制,并支持从其参数中排除某些子目录。 -
这样可以吗?
rsync -av --exclude 'fl_*' user@server:/my/dir . -
我认为这是正确的想法。我在评论中提到了这一点,因为我对自己的
rsync技能没有足够的信心来提供明确的答案。 -
它不起作用。有人请看更新后的帖子
-
你不能
scp /bench1/1cpu/p_*/image/* remotehhost:/path/2/remote吗?祝你好运。