Linux笔记:增量备份程序rsync快速入门

Posted Naisu Xu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux笔记:增量备份程序rsync快速入门相关的知识,希望对你有一定的参考价值。

目的

rsync是一款开源的文件增量备份程序,通常用于linux下文件的增量备份。这个程序可以将一个目录的文件备份到另一个目录中,并且在每次备份时还可以对文件进行比较,只复制更新有过改动的文件。

rsync官网:https://rsync.samba.org/
github项目:https://github.com/WayneD/rsync

快速入门

rsync最核心的用法是:
rsync -a src dest
初次运行上面命令时会将src文件夹和其子文件(夹)复制到dest下,如果dest不存在rsync会自动创建;当再次运行该命令时rsync会先判断src相比dest/src中内容的变动情况,然后只复制/替换更加新的内容;如果再次运行该命令时src和dest/src没有变化的话就不会执行任何操作。上面命令选项中 -a 为备份的具体参数,通常我们还可以加上 -v 参数来显示具体的过程信息:

默认情况下 rsync -a 只会关注src中新增的或是修改的,而不关注已删除的,可以通过 --delete 参数删除dest/src中有而src中没有的文件,我们可以用 -n 参数来模拟执行:

对于本地目录间的拷贝还有一些情况可以稍微关注下:
rsync -a src/ dest 这个命令只会将src目录下面的内容备份到dest中,不包括src本身;
rsync -a src1 src2 dest 这个命令可以同时将src1和src2都备份到dest中;

除了本地目录间的备份,rsync的源或目标目录还可以使用通过SSH方式访问的目录,比如下面这样:
rsync -a src username@remote_host:dest
rsync -a username@remote_host:src dest

常用选项

选项描述
-a归档模式,相当于-rlptgoD
-v显示具体的过程信息
-z文件在压缩后进行传输
--delete删除目标目录有而源目录中没有的文件
-exclude排除某些文件或目录
–exclude="*.txt" 排除所有的.txt文件
--exclude-from从文件中读取排除规则,一行一条规则,以";“或”#"开头的行为注释行
--include指定必须包含的文件或目录,通常和-exclude结合使用
--link-dest指定一个目录作为基准目录,源目录与基准目录比较,只有更新的内容才备份到目标目录中,
其它的内容只是在目标目录中生成一个链接到基准目录的硬链接
-n模拟执行,和-v一起使用,只输出执行信息但并不真的执行操作
-u跳过在目标目录中修改时间比源目录中要新的文件
--progress显示传输进度信息
--log-file将输出信息记录到文件中
–log-file=log

总结

rsync的一些基础功能使用是比较简单的。rsync还有一个GUI界面的程序Grsync,可以在 http://www.opbyte.it/grsync/ 网站上查看相关内容。

以上是关于Linux笔记:增量备份程序rsync快速入门的主要内容,如果未能解决你的问题,请参考以下文章

Linux下的rsync远程增量备份详解

Linux Rsync备份服务介绍及部署守护进程模式

linux学习笔记-rsync原理及使用

Linux学习笔记:Rsync

Linux服务之Rsync

rsync远程同步备份