rsync常用选项:

--delete

例子:rsync -av --delete 111/      /tmp/111 加上delete 会把老数据删除

--exclude    过滤到某些目录或文件不同步

例子: rsync   -av --exclude="23" 111/       /tmp/111  不同步含有23的目录或文件

-z   压缩,拷贝的时候压缩,可以节省带宽

-P 看到拷贝的进度

-L拷贝软连接,并且把文件一同考走

-u 同步的时候避免把源文件的新数据覆盖到目标文件


默认的是rsync传输数据用的是22端口

如 rsync -av /tmp/1.txt    192.168.1.1:/tmp 本地拷贝到远程

如果22端口是关闭的应该怎么传输?

例子

/usr/bin/rsync -avuPz '-e ssh -p 20722'  root@10.171.132.57:/data/nest-v2/data/3000/  /data/nest/data/3000

##这条命令在哪个机器上面执行,代表把10.171.132.57 上面的这个目录 ,拷贝到本地上面


 rsync -avuPz '-e ssh -p 20722' /data/wwwroot/ 10.171.132.57:/data/wwwroot   ##在哪个机器上面执行这条命令,就代表把本地的wwwroot这个目录,拷贝到10.171.132.57 上面

##########################################################################################

使用rsync遇到的错误提示

rsync: Failed to exec ssh: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(84) [sender=3.0.6]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in IPC code (code 14) at io.c(600) [sender=3.0.6]

解决办法

yum -y install openssh-clients