说明: Rsync(remote sync) 用于将文件和目录同步到另一位置。备份的位置可以在本地服务器或远程服务器。
基本rsync语法 此处参考copy用法即可 # rsync [options参数] source(源地址) destination(目标地址) 地址为远程服务器时格式为 user@host:/dir/file.name
rsync常用参数【options】
–z:允许压缩 –v:显示详细信息 –r:递归 -a:archive 存档 默认rsync不同步时间戳。
存档内容: 递归模式 同步软链接 同步权限 同步时间戳 同步属主和属组
-e 指定某一shell 进行同步
rsync -e ssh root@10.0.0.41:/var/lib/rpm /root //使用rsync –e ssh选择ssh进行安全连接。
rsync -e "ssh -p 56 " root@10.0.0.41:/var/lib/rpm /root
//指定非标准端口
-u update 只更新较新的文件
-d 只更新目录 配合-r使用
–progress 查看进度
–delete 删除目标位置有 而源中没有的文件
#注意,--delete参数要放在源目录和目标目录前,并且两个目录结构一定要一致!不能使用./*
–existing 在目标位置不创建新文件
-i 查看源和目的文件间的不同
> 代表文件已被传输到本地主机。 f:代表这是个文件 s:代表文件大小发生变化 t:代表时间戳发生变化 o:属主发生变化 g:属组发生变化
--include 指定某文件 --exclude 排除某文件 --exclude-from 将文件中列出的文件排除
-–max-size 文件大小限制
-W(whole 大写)不校验文件,传输整个文件
适合宽带充足,而cpu孱弱的场景
--bwlimit=rate (bandwidth)限制带宽
rsync常用参数
-a 归档模式,以递归属性传输文件,并保持所有属性,等同于 -rlptgoD 参数组合,-a 可以后跟一个 –no-OPTION 表示关闭 -rlptgoD 其中的某一个参数,例如 -a–no-l 就关闭了 -l 参数,-a 就等同于 -rptgoD
-e 指定传输协议,如 -e ‘ssh -p22’ 指定ssh 协议传输
-z 传输时进行压缩以提高传输率
-r 对子目录一递归模式处理,主要针对目录来说,如果传输的是目录必须加上 -r
-v 打印一下信息出来,比如速率,文件数量
-l 保留软链接
-L 像对待常规文件出来软链接文件,如果是 源文件中有软链接,加上选项后会把软连接指向的目标文拷贝中目标文件
-p 保持文件权限
-o 保持文件属主信息
-g 保持文件属组信息
-D 保持设备文件信息
-t 保持文件时间信息
-u 会把目标文件中比源文件中还新的文件排除掉,不覆盖
-P(大) 在同步过程中看到同步过程的状态,比如统计压迫同步的文件数量、传输速度
–delete 删除哪些目标文件中 源文件中没有的文件
–exclude=文件/目录名 指定排除不需要传输的文件,等号后面跟文件名,也可以是万能字符
–password-file=密码文件 指定密码文件,实现 rsync 服务同步时不用输入密码
–progress 等同于 -P 在同步过程中看到同步过程的状态,比如统计压迫同步的文件数量、传输速度
–version 查看rsync版本信息