1.rsync的概念
rsync,remote synchronize顾名思义就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。
2.查看rsync
查看服务器端rsync版本
rsync --version
输入rsync --version后没反应,通过which rsync后发现有安装,说莫rsync没有启动,查看:
查看rsync状态
systemctl status rsyncd
启动rsync
systemctl start rsyncd
rsync命令选项
-n:测试,在不确定命令是否能按照意愿执行时,务必要实现测试
-v:详细输出模式,--verbose
-q:--quiet,静默模式
-c:--checksum,开启校验功能,强行对文件传输进行校验
-r:--recursive,递归复制
-a: --archives.归档,保留文件的原有属性相当于rlptgoD的选项组合
-z, –compress对备份的文件在传输时进行压缩处理
--delete :从目标目录中删除无关文件
--delete-before: 接收者在传输之前进行删除操作
示例:
同一台服务器中,test_dir/目录下
在/tmp目录下同步
rsync -avzn --delete test_dir /tmp/
其中-v会详细输出过程, -z 表示传输过程中压缩文件,-n表示是测试,并不实际传输
--delete表示
去掉-n后如下,查看到/tmp/test_dir目录下的a.txt也删除了
#将远端文件拉(下载)到本地
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
#将本地文件推送(上传)到远端
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
比如,以下命令是将远程目录同步到本机目录中,将本机目标目录中无关的文件删除,同步时排除Uploads目录
rsync -avzn --delete --exclude="Uploads/" tomcat@IP:$DIR $DIR