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