Linux命令rsync使用总结

Posted oboth-zl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令rsync使用总结相关的知识,希望对你有一定的参考价值。

详细用法见:https://www.cnblogs.com/oboth-zl/articles/10334754.html

rsync命令简介

主要用于数据同步、备份和镜像,除了本地使用之外,也可以通过rsync或者ssh协议进行网络数据同步。

使用总结

常用选项解释

--files-from

指定需要同步的文件。

有如下目录结构:

技术分享图片

若我们只想导入1和2两个目录及其里面的内容,我们可以执行

rsync -av rsync/1 rsync/2 rsync-0

技术分享图片

可以看到结果符合我们预期。

如用--files-from呢?

rsync -av  --files-from=test.txt  rsync rsync-1

test.txt内容为

1

2

1.txt

执行后的目录结构

技术分享图片

结果和我们预期的不一样,只有指定的文件和目录,而没有目录下的其他内容。

所以,--files-from选项只会同步指定的文件和目录,而不会同步目录下的其他内容。

--exclude-from/--include-from

两个选项含义相同,互相可作替换。用来指定包含或者不包含的文件。

基本格式:

+/include file

-/exclude file

/ 在名字前表根目录

/ 在后表目

默认包含所有文件和目录,所以 + 单独使用无意义,常和 - 搭配使用。

比如

cat > rule.txt << EOF
+ Desktop/
+ Desktop/*
+ .bashrc
+ .cshrc
+ /*
- *
EOF

rsync -av --exclude-from=rule.txt root rsync_dir

此规则表示仅同步Desktop及其下级目录和文件,以及.bashrc、.cshrc。并不会同步Desktop/*/再下一级目录,这里需要注意。

而当规则换成这样

cat > rule.txt << EOF
+ /root/Desktop/
+ /root/Desktop/*
+ /root/.bashrc
+ /root/.cshrc
+ /*
- *
EOF

结果和上面一样。

以上是关于Linux命令rsync使用总结的主要内容,如果未能解决你的问题,请参考以下文章

rsync常用命令及格式

rsync命令使用总结

Linux学习总结(二十八) 数据同步工具 rsync

配置 rsync 报错

Linux命令rsync的疑问

Linux之RSYNC文件同步服务