Rsync(remote sync) 是用于同步某一位置文件和目录到另一位置的有效方法。备份的位置可以在本地服务器或远程服务器。

安装

yum install rsync -y

基本操作

srcfile:源文件
dstfile:目标文件
srcdir:源目录
dstdir:目标目录

rsync -r srcfile dstfile #本机运行时可代替cp和mv的效果,同步文件

rsync -a srcfile dstfile #-a可代替-r选项,还可同步元信息

rsync -anv srcfile dstfile #模拟同步(-n),并输出同步信息(-v)

rsync -av --delete srcdir dstdir #删除存在于目标目录,不存在源目录的文件

rsync -av --exclude="*.readme" srcdir dstdir #不同步.readme结尾的文件

rsync -av --exclude={'*.readme','*.ignore'} srcdir dstdir #不同步.readme和.ignore结尾的文件

rsync -av --exclude-from='balck.txt' srcdir dstdir #不同步black.txt清单内匹配的文件名

rsync -av --include="*.conf" --exclude='*' srcdir dstdir #同步.conf结尾的文件,其他不同步

rsync -av srcfile [email protected]:dstfile #将源文件同步到192.168.1.100上

rsync -av [email protected]:srcfile dstfile #将192.168.1.100的文件同步到本地

rsync -avzu srcfile dstfile #不覆盖目标位置已更改的文件(-u),压缩传输(-z)

rsync -v -d srcdir dstdir #仅同步目录树(-d)

rsync -avz --progress srcdir dstdir #可现实同步进度信息(--progress)

rsync -avz --existing srcdir dstdir #仅同步目标拥有的文件,不创建新文件(--existing)

rsync -avzi srcfile dstfile #对比文件(-i),f:代表这是个文件,s:代表文件大小发生变化, t:代表时间戳发生变化 ,o:属主发生变化, g:属组发生变化

rsync -avz --max-size='100K' srcdir dstdir #不传输超过100k的文件(--max-size)

rsync -I srcdir dstdir #以降低传输速度为代价,确保数据一致性(-I)

rsync -l srcfile dstfile #软链接文件同步(-l)

rsync -p srcfile dstfile #保持文件权限一致(-p)