rsync一条命令实现远程文件传输

rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。

 

特性如下:
1、可以镜像保存整个目录树和文件系统。
2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。
3、无须特殊权限即可安装。
4、快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
5、安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
6、支持匿名传输,以方便进行网站镜象。

 

推送和拉取数据的方法如下两种:
1)推送到远程:rsync [option] src [user@]host:dest
2)从远程拉取:rsync [option] [user@]host:src dest
注意:在使用该命令之前要保证服务器之间做了免密
例子如下:
yum -y install rsync

# 加上 / ,将数据推送到远程服务器192.168.1.100上的/home/gitlab_data_backup/目录下所有文件拷贝到远程目录/home/gitlab_data_backup下
rsync -avzP /data/gitlab_backup/ root@192.168.1.100:/home/gitlab_data_backup
# 不加 /,就将我/data/目录下的gitlab_backup 整个目录拷贝到远程目录/home/gitlab_data_backup下
rsync -avzP /data/gitlab_backup root@192.168.1.100:/home/gitlab_data_backup


# 加上 / ,将远程服务器192.168.1.100上的/home/data/目录下的素有文件拉取到本地目录/data/gitlab_backup/下
rsync -avzP root@192.168.1.100:/home/data/ /data/gitlab_backup/
# 不加 / ,将远程服务器192.168.1.100上的/home/data/整个/data/目录拉取到本地目录/data/gitlab_backup/下
rsync -avzP root@192.168.1.100:/home/data /data/gitlab_backup/
参数解释:
avzP: a表示归档模式,v表示详细输出,打印速率,文件数量,z表示传输时进行过压缩以提升效率,P显示同步过程及传输进度信息
/data/gitlab_backup/:这是我本机的目录。这里末尾加上了 / ,表示gitlab_backup下的所有文件(不包括目录本身)。如果不加 / ,则表示同步整个gitlab_backup目录(包括目录本身都被整个拷贝过去)
172.16.86.15 是远程服务器的内网ip
/home/gitlab_data_backup 是远程服务器上的目录
注意:第一次执行命令的时候会把整个目录或者目录下所有数据拷贝一遍,第二次再执行rsync同步命令他就会只同步有变化的数据,老的数据不再同步

 

 

 

 

 

版权声明:
作者:allenjol
链接:https://www.ayunw.cn/archives/860
来源:爱生活,爱运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>