--include 和 --exclude 搭档,--exclude 是起到排除的功能, 也就是当 --include 指定了我们所需要传输的数据时,通过 --exclude 排除其他内容的传输。这样就可以完成指定什么数据需要传输,其他不在范围内的数据都不传输。
下面是单纯的用 --include 指定传输 SRC 目录下所有结尾为 .txt 的文件效果。 单纯的用 --include 没有起到只传输我想要的文件,而是把源目录的所有数据传输到目标目录。
3、传输 office_directory 目录及文件。
4、传输 SRC 目录下的所有 txt 到 backups_include 目录(含子目录及内容)。
分析思路:
5、如果只想传输 .txt 结尾的文件到 backups_include 目录,不想传输子目录文件夹。可用发送方,也就是源目录的路径进行控制。
分析思路:
6、传输多个二级目录及文件。
7、传输三级目录及文件原理也是一样。通过 --include 把目录和目录下 *.txt 文件类型标识清楚。以传输 SRC 目录下的三级目录及所有 .txt 文件为例:
8、传输 SRC 目录下的所有 .txt 文件(不含目录)到 backups_include 目录。
9、优化 例 8 语句
10、指定传输某些文件。
11、指定传输某字母或单词开头的目录或文件。
12、指定传输含有某字母或单词的文件。
13、指定传输某字母或单词结尾的文件。
14、指定多个传输条件可以用 { } 大扩号把条件括起来,条件与条件之间用 ,逗号分隔开。只用一个 --include参数。可进步一步优化语句,避免臃肿。
2、执行 rsync -a --delete 把 SRC 目录下的内容传输到 backups_delete 目录,backups_delete 以镜像形式保存 SRC 目录的内容。backups_delete 目录的内容和 SRC 目录的内容保持一致。
3、第 2 点通过 -a --delete 完成了 SRC 目录文件的备份,可能没有突显镜像备份的形式。现在 backups_delete 增加一些内容,然后用 -a --delete 再传输一次数据作一个对比就会清晰了。
backups_delete 目录下新增两个目录 directory1 和 directory2,directory1目录新增一个 file3.txt 文件,directory2目录新增一个 file4.txt 文件。 *** 作 和 目录结构如下:
-a --delete 再传输一次数据,可以发现刚才新建的目录和文件都被删除了,backups_delete 目录只保存和 SRC 源目录一致的内容。形成一个 SRC 目录内容的镜像。
4、同理,把 backups_delete 的 file1.txt 文件删除,再用 -a --delete 再传输一次数据。
由上述实验可以看出 --delete 作用于接收端,把目标目标以镜像模式备份源目录的数据。目标目录比源目标多出的内容将会被删除。对比源目录,比源目录少的内容会补上。
在/usr/local/bin 目录下创建 xsync 文件,向里面添加:
最后chmod 777 xsync给文件添加执行权限即可。
使用xsync filename就能将filename分发到集群中的各个节点中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)