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

发布时间 2023-10-13 09:30:49作者: 笨笨快跑88

目的

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 参数来模拟执行:

https://img-blog.csdnimg.cn/9de99d901e574c57b9d8b0c40f998fb1.gif#pic_center

对于本地目录间的拷贝还有一些情况可以稍微关注下:
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/ 网站上查看相关内容。
————————————————
版权声明:本文为CSDN博主「Naisu Xu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Naisu_kun/article/details/118912535