以前为了完成多台Linux服务器之间的代码同步功能,都是使用shell脚本和scp命令,导致同步不同的项目都要写新的脚本,这个有明显是重复的工作量。
今天突然发现了rsync这个工具,对于对等性质的系统(所有服务器的服务完全一致)而言,能够有效的提高工作效率。
rsync的主页地址为:http://rsync.samba.org/ 最新版本为version 3.0.9。
安装
直接下载使用yum install rsync
如果使用编译安装,则为:
1.下载rsync-3.0.9.tar.gz包
2.tar -zxvf rsync-3.0.9.tar.gz
3../configure
4.make
5.make install
启动
usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
也可以在/etc/rc.d/rc.local里加入让系统自动启动
同步
将本地目录文件同步到远程服务器的目录中
rsync -av --delete /app/demo 远程服务器IP地址:/app/demo
参数说明
-a 相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件
-z 传输时压缩
-P 传输进度
-v 传输时的进度等信息
--delete 删除远程服务器中在本地不存在的文件