前言
linux之间同步文件主要有两种方式rsync与scp:
rsync更强调同步,scp更强调批量覆盖,本次主要讲下rsync的使用
rsync特点
- 可以镜像保存整个目录树和文件系统
- 可以保留原有的权限(permission,mode),owner,group,时间(修改时间,modify time),软硬链接,文件acl,文件属性(attributes)信息等
- 传输效率高,使用同步算法,只比较变化的
rsync安装
yum -y install rsync
rsync命令
rsync [OPTION]... SRC [SRC]... DEST
常用OPTION:
-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,让我们知道同步的过程
-l 保留软连接
-L 加上该选项后,同步软链接时会把源文件给同步
-p 保持文件的权限属性
-o 保持文件的属主
-g 保持文件的属组
-D 保持设备文件信息
-t 保持文件的时间属性
–delete 删除DEST中SRC没有的文件
–exclude 过滤指定文件,如–exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
-z 传输时压缩
其他参数的帮助直接输入rsync
SRC 和 DEST:
[user@]host:/file/path
表示可以通过ssh推/拉远程文件
[user@]host::/file/path
或rsync://
必须远程开启一个rsync服务
rsync远程同步示例
1. 最好配置以下两台机器的ssh免密访问
2. 同步远程目录到本机
rsync -a -v hostB:/DATA/removePath /DATA/localPath
3. 配合cron完成定期同步任务
参考:cron常用命令