`
sundful
  • 浏览: 1250484 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rsync详解之exclude排除文件

 
阅读更多

问题:如何避开同步指定的文件夹?  --exclude
rsync  --exclude files and folders

http://articles.slicehost.com/2007/10/10/rsync-exclude-files-and-folders

很常见的情况:我想同步/下的 /usr   /boot/ ,  但是不想复制/proc  /tmp 这些文件夹

如果想避开某个路径  直接添加--exclude 即可

比如--exclude “proc”

--exclude ‘sources’

Note: the directory path is relative to the folder you are backing up.

注意:这个路径必须是一个相对路径,不能是绝对路径


例子:源服务器/home/yjwan/bashshell有一个checkout文件夹

[root@CentOS5-4 bashshell]# ls -dl checkout

drwxr-xr-x 2 root root 4096 Aug 21 09:14 checkou

现在想要完全避开复制这个文件夹内容怎么办?

目标服务器执行

rsync -av --exclude “checkout” yjwan@172.16.251.241:/home/yjwan/bashshell /tmp

将不会复制这个文件夹

[root@free /tmp/bashshell]# ls -d /tmp/bashshell/checkout

ls: /tmp/bashshell/checkout: No such file or directory


注意:


1事实上,系统会把文件和文件夹一视同仁,如果checkout是一个文件,一样不会复制


2 如果想避开复制checkout里面的内容,可以这么写--exclude “checkout/123”


3 切记不可写为 --exclude “/checkout”这样绝对路径

这样写 将不会避免checkout被复制

比如

[root@free /tmp/bashshell]# rsync -av --exclude “/checkout” yjwan@172.16.251.241:/home/yjwan/bashshell/tmp

receiving file list … done

bashshell/checkout/


4可以使用通配符 避开不想复制的内容

比如--exclude “fire*”

那么fire打头的文件或者文件夹全部不会被复制

5如果想要避开复制的文件过多,可以这么写

--exclude-from=/exclude.list


exclude.list 是一个文件,放置的位置是绝对路径的/exclude.list ,为了避免出问题,最好设置为绝对路径。


里面的内容一定要写为相对路径


比如 我想避开checkout文件夹和fire打头的文件


那么/exclude.list 写为

checkout

fire*

然后执行以下命令,注意写为--exclude-from或者--exclude-from=都可以

但是不能为--exclude

rsync -av --exclude-from=”/exclude.list” yjwan@172.16.251.241:/home/yjwan/bashshell /tmp

检查结果:确实避开了checkout文件夹和fire打头的文件

问题:如何计算对比复制以后的文件数量是否正确呢?
1 查看错误日志,看是否复制时候出问题了

2在源服务器执行可知道具体文件和文件夹的总个数

ls –AlR|grep “^[-d]”|wc

然后目标服务器在计算一遍个数

看看数字是不是能对的上就ok了

对不上再研究怎么回事

3现在的问题是:如果我使用了--exclude参数就麻烦了

我怎么知道要复制几个文件?
首先,前面命令时候提到过一种写法,就是只有源地址,没有目标地址的写法,这种写法可以用来列出所有应该被复制的文件
那么用这个命令,可以计算出这个/root/bashshell下面文件和文件夹数量

在服务器端执行

[root@CentOS5-4 bashshell]# rsync -av /root/bashshell/ |grep “^[-d]” | wc

62     310    4249

和ls 得到的结果一致的

[root@CentOS5-4 bashshell]# ls -AlR |grep “^[-d]“|wc

62     558    3731

因此,比如说我不要fire 打头的文件,可以在服务器端先这样计算要复制的文件
[root@CentOS5-4 bashshell]# rsync -av --exclude “fire*” /root/bashshell/ |grep “^[-d]” | wc

44     220    2695

然后复制过去

看目标机器的文件和文件夹数量为

[root@free /tmp]# ls -AlR /tmp/bashshell/  |grep “^[-d]“|wc

44     396    2554

可以知道2者是同步的

分享到:
评论

相关推荐

    rsync结合find技巧分享

    rsync -avpz -e ssh 192.... 您可能感兴趣的文章:rsync命令排除文件和文件夹(exclude-from)RSync实现文件同步备份配置详解Rsync命令参数详解rsync 安装使用详解rsync 常见错误与解决方法整理rsync详解之exclude排除文件

    Rsync命令参数详解

    + -C, --cvs-exclude 使用和 CVS 一样的方法自动忽略文件,用来排除那些不希望传输的文件 + --existing 仅仅更新那些已经存在于 DST 的文件,而不备份那些新创建的文件 + --delete 删除那些 DST 中已经不存在于 ...

    linuxrsync安装配置及命令详解.pdf

    * `rsync -avz --exclude`:实现文件的同步、备份和排除指定文件或目录。 rsync 配置文件详解 rsync 配置文件 `/etc/rsyncd.conf` 中的主要配置项包括: * `pid file`:指定进程写到 `/var/run/rsyncd.pid` 文件...

    Linux下rsync文件同步详解

    Linux 下 rsync 文件同步详解 rsync 简介 RSYNC 是一个快速、可靠、功能强大且免費的 Unix 和 Linux 文件同步工具。它能够快速地同步文件和目录,从而实现文件的备份、镜像和同步。rsync 的主要功能包括文件同步...

    Rsync详细讲解和说明

    《Rsync详解与指南》 Rsync是一款强大的文件同步工具,广泛用于系统备份、镜像制作和数据迁移。它的灵活性和高效性使得它在IT领域备受青睐。本文将深入解析Rsync的各项参数及其用法。 一、全局参数 1. `motd file...

    rsync命令教程 在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。

    Rsync命令详解 在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。 一、rsync的六种工作模式: ...

    rsync&sersync;安装详解

    rsync 和 sersync 安装详解 rsync 和 sersync 是两种常用的文件同步工具,rsync 是一种快速、可靠的文件同步协议,而 sersync 是一个基于 rsync 的实时文件同步工具。下面,我们将详细介绍如何安装和配置 rsync 和 ...

    rsync 软件+安装步骤

    **rsync软件详解及安装步骤** `rsync`是一款强大的数据同步工具,广泛应用于Linux和Unix系统中。它以其高效、灵活的特性,被广大系统管理员用于数据备份、镜像制作以及文件同步等方面。`rsync`的核心功能是提供增量...

    ssh 使用rsync 工具

    ### SSH使用rsync工具详解 #### 一、引言 在IT运维管理中,文件同步是一项常见的需求。尤其是在处理大型目录结构时,如何高效、安全地进行数据同步变得尤为重要。`rsync`作为一种强大的文件同步工具,结合SSH协议...

    rsync二:daemon端配置文件

    - **filter/exclude/include**:用于过滤、排除或仅包含某些文件或目录,灵活控制同步范围。 #### 五、示例配置 下面是一个典型的rsync daemon配置示例: ```ini # This is the rsync daemon configuration # ...

    rsync-patches-3.2.3.tar.gz

    《使用Rsync在Windows下同步Linux服务器数据的详解》 在现代IT环境中,跨平台的数据同步是一项常见的任务,尤其在Windows与Linux系统之间。Rsync,一个强大的文件同步工具,通常用于Linux和Unix系统,但也可以在...

    rsync安装配置.pdf

    《rsync安装与配置详解》 rsync是一款强大的文件同步工具,广泛应用于系统备份、镜像制作以及数据迁移等场景。本文将详细讲解rsync的安装配置过程,并介绍相关配置选项,帮助你更好地掌握rsync的使用。 首先,...

    rsync安装配置文档

    - `--exclude`: 排除特定文件或目录。 - `--progress`: 显示同步进度。 - `--password-file`: 指定密码文件路径。 通过以上步骤,我们可以完成`rsync`的安装、服务端配置以及客户端同步操作。这对于构建高效的文件...

    linux命令rsync.txt

    根据提供的文件信息,“linux命令rsync.txt”,我们可以深入探讨rsync命令的相关知识点,包括其基本用法、常用选项以及实际应用场景等。 ### rsync 命令简介 rsync(remote sync)是一款在Linux系统中非常强大的...

    Rsync for windows配置

    ### Rsync for Windows 配置详解 #### 一、Rsync 概述 Rsync 是一个功能强大且高效的文件同步工具,广泛应用于 Linux 和 Unix 平台。它能够快速地在本地或远程主机之间同步文件及目录,并且支持增量同步(只传输...

    使用 rsync 同步

    2. **排除特定文件**:使用`--exclude`选项排除特定文件或目录。 3. **定时任务**:可以使用cron定时任务自动执行rsync命令,实现定期同步或备份。 #### 七、总结 rsync作为一种强大的数据同步工具,不仅具备高效...

Global site tag (gtag.js) - Google Analytics