rsync工具介绍,rsync常用选项,rsync通过ssh同步

简介:

rsync安装命令:

yum -y install rsync

rsync是一个比较重要的工具,需要熟练掌握,在工作中很有可能每天都会用到这个工具。例如我们从A机器传输文件到B机器,或者通过远程去备份一些数据,都会使用这个工具。rsync不仅可以通过网络传输数据,也可以在本机传输数据,类似于cp

假设现在有一个A目录和B目录,现在的需求是把A目录下的数据拷贝到B目录下去,但是A目录下的数据会一直在更新或增加,也就是说A目录下的数据一直在变动,现在需要每小时拷贝一次到B目录去,如果只使用cp命令的话,只能是从头到尾把文件覆盖一遍。但是如果A目录只增加了一个很小的文件,也要从头到尾的覆盖的话,很耗费时间和磁盘资源。所以我们才需要使用rsync工具,rsync能实现增量的拷贝,rsync只会拷贝增加的或更新的文件,rsync也支持远程同步传输文件。

 

  例如我把passwd文件通过rsync命令拷贝到tmp目录下,而且能够看到详细的信息,rsync命令与其说是拷贝不如说是发送,在显示的信息里也显示了传输速度:

wKioL1nl0S2jyd_CAANCRmMFspg634.png


远程传输命令格式,需要加上用户名和IP地址,后面跟传输的目标目录:

wKiom1nl0-TiX7ZLAAP_6Oy4tBU365.png


如果不写用户名的话,就会默认为当前终端的用户名,例如我当前终端使用的是root用户,那么默认就是传输到对方的root上,如果我我当前终端使用的是user1或者其他什么用户,就会按照这个用户名去传输,对方没有这个用户的话也仍然会要求输入密码:

  存在此用户的示例:

wKioL1nl0S_RzkcNAANijOThvAE500.png


不存在此用户的错误示例:

wKiom1nl0-jiygCvAATHdTWNw5k862.png





10.29/10.30 rsync常用选项

wKioL1nl0TfTK7aXAAufmIbQnOQ171.png


-a选项包含着-rtplgoD选项,也就是说一个-a选项表示着-rtplgoD 7个选项。

 

--exclude选项支持使用通配符

 

-u选项能够避免覆盖目标目录下较新的文件

 

-zzip的意思,压缩是为了传输的过程中节省带宽,加快传输速度

 

 

现在我们开始实践使用一下这些选项,我用root下的Test目录作为源目录,然后以tmp作为目标目录。

  -av选项是最常用的选项,能够看到同步的过程:

wKiom1nl0_DhvbT1AAckivX5dCU986.png

wKioL1nl0TySy6hwAAQKA-r73lk540.png


-L选项会把-a选项里包含的-l选项覆盖掉,-L选项会把源目录下的软链接文件的指向文件拷贝过去:

wKiom1nl0_bjFqL-AAgb695ZGOc177.png


如果拷贝软链接文件的指向文件时,该软连接的指向文件不存在就会报错:

wKiom1nl0_jQq0ynAAdSAUFApqU115.png

这就是-L选项的作用,会拷贝软链接文件的指向文件到目标目录下。


--delete选项会删除目标目录中,源目录没有的文件,例如目标目录有一个123.txt的文件,但是源目录没有这个文件,那么同步时就会把目标目录下123.txt文件删除掉:

wKioL1nl0UTjX_1lAAUm4YKZS50595.png


--exclude选项可以过滤指定的文件,例如我把x开头的文件都过滤掉:

wKioL1nl0UeDLNAnAAUm4Sw_JOo421.png

wKiom1nl0_2xAzSLAAEMZ3ma45Q803.png

--exclude选项可以写多个:

wKiom1nl0_6SSgmpAAN1IzBfnlI300.png


-P选项可以看到传输的速率信息:

wKiom1nl1ATxthg8AAr9ME0Q6U4300.png


-u选项能够避免覆盖目标目录下较新的文件:

wKiom1nl1AWxoPTiAAPuliYhJx4737.png


-zzip的意思,压缩是为了传输的过程中节省带宽,加快传输速度,不过只有文件数量多的情况下才看得到效果:

wKioL1nl0VChfk19AAMlKITWIJE738.png






10.31 rsync通过ssh同步

wKiom1nl1AqhcTADAAhnl4wReXs406.png


通过ssh方式同步:

wKioL1nl0VbjrjE8AAP_6Oy4tBU072.png


也可以反过来同步,也就是将对方机器的文件,同步到自己的机器上:

wKioL1nl0VjgMeqJAATyzjzrp1g430.png


如果对方使用的不是22端口的话,可以加上-e来指定端口:

wKiom1nl1BDA8U6tAAQInVNwUec683.png

在这里我指定的是22端口。




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1973419,如需转载请自行联系原作者

相关文章
|
14天前
|
Devops 网络安全 Docker
百度搜索:蓝易云【DevOps系列文章之Docker部署web ssh工具sshwifty教程。】
同时,了解DevOps和Docker的基本原理和概念也对你进行部署和管理这样的工具非常有帮助。你可以进一步研究Docker容器化技术和相关的DevOps实践,以更好地理解和应用这些概念。
58 0
|
14天前
|
Shell 网络安全 iOS开发
最好用的SSH工具Royal TSX for mac使用教程
众所周知,在 Windows上我们经常用到的shell工具可能非 xshell莫属了。但是xshell却并没有开发mac 版本,我们只能用其他的工具替代了。 在我用过几个ssh工具之后,我觉得在macOS上最好用的ssh工具客户端必须是 Royal TSX,它和使用xhell的感觉简直一模一样。 Royal TSX是一款功能非常强大适用于 Mac 的远程连接管理工具。兼容多种连接类型,比如:RDP、VNC、基于SSH连接的终端,SFTP/FTP/SCP或基于Web的连接管理,Royal TSX 都可以满足您的要求!
250 0
最好用的SSH工具Royal TSX for mac使用教程
|
14天前
|
Linux 网络安全 数据安全/隐私保护
SSH工具连接远程服务器或者本地Linux系统
SSH工具连接远程服务器或者本地Linux系统
29 0
|
14天前
|
Ubuntu Shell Linux
使用sshpass工具通过SSH执行远程命令
`sshpass`是一个用于在脚本中自动输入SSH密码的工具 **在Debian/Ubuntu上安装sshpass:** ```bash sudo apt-get install sshpass ``` **在CentOS/RHEL上安装sshpass:** ```bash sudo yum install sshpass ``` **在Fedora上安装sshpass:** ```bash sudo dnf install sshpass ``` 安装完成后,你可以使用`sshpass`命令通过SSH执行远程命令。以下是一个示例: ```bash sshpass -p 'yo
|
14天前
|
安全 Unix Linux
基于MobaXterm工具的Linux远程SSH登录
本文介绍了如何使用 MobaXterm 进行 Linux 远程登录。首先,从官方网站下载并安装 MobaXterm。启动后,创建新的远程会话,选择 SSH 类型,输入服务器 IP、主机名和端口。接着,提供用户名和密码进行连接。成功后,即可使用远程终端执行命令。此外,文章还提到了其他常用的 Linux 远程登录工具,如 PuTTY、OpenSSH、SecureCRT 和 Xshell,强调了选择工具时应考虑个人偏好和安全需求。
|
14天前
|
存储 网络协议 Linux
如何使用内网穿透工具实现远程SSH访问Deepin系统
如何使用内网穿透工具实现远程SSH访问Deepin系统
|
14天前
|
安全 网络安全 数据安全/隐私保护
Termius 一款优秀的跨平台 SSH 客户端工具
Termius 一款优秀的跨平台 SSH 客户端工具
115 0
|
14天前
|
Ubuntu Linux 网络安全
MobaXterm的是有用方法---集串口,SSH远程登录和FTP传输三合一工具
MobaXterm的是有用方法---集串口,SSH远程登录和FTP传输三合一工具
91 3
|
14天前
|
存储 网络安全 开发工具
Git的GUI图形化工具&ssh协议&IDEA集成Git
Git的GUI图形化工具&ssh协议&IDEA集成Git
130 0
|
5月前
|
网络安全 Python
动手写个ssh连接工具
动手写个ssh连接工具
68 0

相关实验场景

更多