linux rsync同步命令(值得收藏)

2019-09-23 09:22:46丽君

important files aren't listed.

从这句话里,我们学到了一个小技巧,那就是-n选项,它是一个吓唬人的选项,它会用受影响的文件列表来警告你,但不会真的去删除,这就让我们有了确认的机会和回旋的余地。我们看看实际用法吧:

$ rsync -n --delete -r . machineB:/home/userB/
deleting superman/xxx
deleting main.c
deleting acclink

[--exclude选项和--exclude-from选项]

如果你不希望同步一些东西到目的端的话,可以使用–exclude选项来隐藏,rsync还是很重视大家隐私的,你可以多次使用–exclude选项来设置很多的“隐私”。

如果你要隐藏的隐私太多的话,在命令行选项中设置会比较麻烦,rsync还是很体贴,它提供了–exclude-from选项,让你可以把隐私一一列在一个文件里,然后让rsync直接读取这个文件就好了。

[--partial选项]

这就是传说中的断点续传功能。默认情况下,rsync会删除那些传输中断的文件,然后重新传输。但在一些特别情况下,我们不希望重传,而是续传。

我们在使用中,经常会看到有人会使用-P选项,这个选项其实是为了偷懒而设计的。以前人们总是要手动写–partial –progress,觉得太费劲了,倒不如用一个新的选项来代替,于是-P应运而生了。有些读者会问–partial我知道作用了,可–progress是干什么用的呢?为什么很多人要使用它呢,它有那么大的吸引力?(真有…)

[--progress选项]

使用这个选项,rsync会显示出传输进度信息,有什么用呢,rsync给了一个很有意思的解释:

This gives a bored user something to watch.

好了,写了这么多,大家看的已经很乏味了,去实际用用–progress解解闷,是个不错的选择 ^_^

下面给大家介绍的是rsync参数的具体解释:

-v, --verbose 详细模式输出
-q, --quiet 精简输出模式
-c, --checksum 打开校验开关,强制对文件传输进行校验
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, --recursive 对子目录以递归模式处理
-R, --relative 使用相对路径信息
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-l, --links 保留软链结
-L, --copy-links 想对待常规文件一样处理软链结
--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结
--safe-links 忽略指向SRC路径目录树以外的链结