代码之家  ›  专栏  ›  技术社区  ›  Andy

在一个命令中查找和scp

  •  0
  • Andy  · 技术社区  · 8 年前

    我需要scp/home/data目录及其子目录中的所有txt文件。

    find /home/data/ -type f -name *.txt -exec scp {} user@ip:/home/testdir \;
    

    该命令似乎有效,但在目标服务器上,没有文件夹,而是有一个名为testdir的文件,它的大小似乎与传输的最后一个txt文件相同。

    我是不是在命令中遗漏了什么?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Barmar    8 年前

    Rsync可能更适合该任务。它有非常方便的include和exclude标志。您可以这样使用它:

    rsync -rav -e ssh --include '*/' --include='*.txt' --exclude='*' \
        server:/usr/folders/ \ /usr/backup/