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使用总结的主要内容,如果未能解决你的问题,请参考以下文章