• cp备份操作时如何忽略指定的目录


    需求场景:进行CP拷贝备份的时候,子目录里面的某些大文件或是一些log文件是无需备份的,那么在CP操作时需要忽略掉指定的目录。

    案例演示如下:备份data目录,但是不包括里面的share子目录。

    先看一下data目录都包括什么文件:

    $ tree data
    data
    ├── control
    ├── debian-binary
    ├── md5sums
    ├── postinst
    ├── prerm
    └── usr
        ├── bin
        │   ├── mime-tool
        │   └── topal
        └── share
            ├── doc
            │   └── topal
            │       ├── changelog.Debian.gz
            │       ├── changelog.gz
            │       ├── changelog.html.gz
            │       ├── copyright
            │       ├── Features.html
            │       ├── README.Debian
            │       └── topal.pdf.gz
            ├── man
            │   └── man1
            │       ├── mime-tool.1.gz
            │       └── topal.1.gz
            └── topal
                └── patches
                    ├── alpine-1.00.patch
                    ├── alpine-1.10.patch
                    ├── alpine-2.00.patch-1
                    ├── alpine-2.00.patch-2
                    ├── alpine-2.02.patch-1
                    ├── alpine-2.02.patch-2
                    ├── pine-4.44.patch
                    ├── pine-4.50.patch
                    ├── pine-4.53.patch
                    ├── pine-4.58.patch
                    ├── pine-4.60.patch
                    └── pine-4.64.patch
    
    9 directories, 28 files
    

     操作指令:

    $ cd data/
    $ find . -iname share -prune -o -print0 | cpio -pmd0 /tmp/data3/
    

    然后查看拷贝的目录机构:

    $ tree /tmp/data3
    /tmp/data3
    ├── control
    ├── debian-binary
    ├── md5sums
    ├── postinst
    ├── prerm
    └── usr
        └── bin
            ├── mime-tool
            └── topal
    
    2 directories, 7 files
    

     发现share子目录被完美的忽略掉了。

    注意:一定要cd到data/目录下操作,否则拷贝后在目标目录会带上data/这一层。

    另外,根据实际需求,还有更高级的组合用法,如:

    $ find . -iname share -prune -o  ! -name '*log*'  ! -size +100M -print0   | cpio -pmd0 /tmp/data2
    

     该指令不仅会忽略share子目录,还会忽略名称中包涵“log”字符串的文件或文件夹,以及忽略大于100M的文件。

  • 相关阅读:
    Lazarus中system.length说明
    Lazarus中TScreen类使用介绍
    Delphi深度探索-CodeSite应用指南
    Lazarus如何变成XE的界面
    Lazarus IDE的几个小技术
    Delphi结构体数组指针的问题
    delphi动态数组指针问题
    delphi 数组类型与数组指针的巧妙利用
    Delphi Form的释放和隐藏:free,hide,close
    Delphi 记录类型- 结构指针
  • 原文地址:https://www.cnblogs.com/wzc0066/p/6611238.html
Copyright © 2020-2023  润新知