加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如何`scp`目录保留结构但只选择某些文件?

发布时间:2020-12-15 21:23:31 所属栏目:安全 来源:网络整理
导读:我需要保护copy(scp)以远程复制目录,并保留从UNIX命令行保留的子结构.子目录有相同名称的文件,我想要和其他一些我不知道的东西.这是结构的样子. directorytocopy subdir1 1.wanted 2.wanted ... 1.unwanted 2.notwanted subdir2 1.wanted 2.wanted ... 1.unw
我需要保护copy(scp)以远程复制目录,并保留从UNIX命令行保留的子结构.子目录有相同名称的文件,我想要和其他一些我不知道的东西.这是结构的样子.

directorytocopy
  subdir1
    1.wanted
    2.wanted
    ...
    1.unwanted
    2.notwanted
  subdir2
    1.wanted
    2.wanted
    ...
    1.unwanted
    2.notwanted
  ..

我只是希望.wanted文件保留目录结构.我意识到可以编写一个shell(我使用bash)脚本来执行此操作.是否有可能以较少暴力的方式做到这一点?我无法复制整个内容并删除不需要的文件,因为我没有足够的空间.

解决方法

Adrian最好使用rsync.您还可以使用tar来捆绑所需文件:

cd directorytocopy
shopt -s nullglob globstar
tar -cf - **/*.wanted | ssh destination 'cd dirToPaste && tar -xvf -'

这里,使用tar的-f选项和文件名 – 使用stdin / stdout作为存档文件.

这是未经测试的,并且可能会失败,因为存档可能不包含保存“所需”文件的实际子目录.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读