首页 > 其他分享 >rsync 远程同步工具

rsync 远程同步工具

时间:2023-03-30 15:44:45浏览次数:38  
标签:tmp 文件 rsync 同步 -- txt 远程

rsync简介:
(1) rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件
(2) rsync 使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快
(3) rsync 可以实现增量同步文件,也可以实现全量同步文件;可以实现本地同步文件,也可以实现远程同步文件

[root@localhost ~]$ yum install -y rsync          # 要使用rsync实现远程同步,要求两端都安装rsync工具
rsync -avzP /etc/passwd /tmp/1.txt                # 本地同步,表示把/etc/passwd文件同步到/tmp目录并改文件名为1.txt
rsync -avzP /data/aaaa/ /tmp/bbbb/                # 本地同步,表示把/data/aaaa目录同步到/tmp目录并改目录名为bbbb,同步目录时,最好在末尾都加上/
rsync -avzP /etc/passwd 192.168.1.2:/tmp/1.txt    # 远程同步,表示把/etc/passwd文件同步到远程192.168.1.1的/tmp目录并改名为1.txt
rsync -avzP /etc/passwd 192.168.1.2::tmp/1.txt    # 远程同步,表示把/etc/passwd文件同步到远程192.168.1.1的tmp模块的指定目录下并改名为1.txt

rsync 通过ssh的方式实现远程同步:

rsync -avzP /tmp/1.txt 192.168.1.2:/tmp/2.txt                  # 表示把本机的/tmp/1.txt文件同步到远程192.168.1.1的/tmp目录并改名为2.txt
rsync -avzP 192.168.1.2:/tmp/2.txt /tmp/1.txt                  # 表示把远程192.168.1.1的/tmp/2.txt文件同步到本机的/tmp目录并改名为1.txt
rsync -avzP -e "ssh -p 37" /tmp/1.txt 192.168.1.2:/tmp/2.txt   # rsync默认是通过ssh服务连接并实现远程同步的,如果远程的ssh端口号不是22,可以通过该选项指定


rsync 通过服务的方式实现远程同步:

    1. 服务端配置:

[root@localhost ~]$ cat /etc/rsyncd.conf
uid=root                                 # 指定模块以指定的UID传输文件
gid=root                                 # 指定模块以指定的GID传输文件
use chroot=no                            # 自行百度,一般填no就行
max connections=3000                     # 指定最大的客户端连接数
log file=/var/log/rsyncd.log             # 指定日志文件路劲
pid file=/var/run/rsyncd.pid             # 指定pid文件路径
lock file=/var/run/rsyncd.lock           # 指定lock文件路径
log format= %t %a %m %f %b               # 指定日志格式
syslog facility=local3                   # 指定rsync发送日志消息给syslog时的消息级别
reverse lookup=no                        # 禁用守护进程端的反向查找
timeout=1200                             # 指定传输超时时间
port = 3873                              # 指定服务端监听的端口,默认是873

[tmp]                                    # 指定模块名
path=/tmp                                # 指定模块对应的路径
comment=server                           # 模块的描述信息
list=no                                  # 是否允许客户端查询服务端上开放的模块
read only=no                             # 如果是yes,则不能上传到该模块指定的路径下(即写操作)
ignore errors=yes                        # 是否忽略错误
hosts allow = 192.168.1.2                # 允许远程同步的客户端
hosts deny = *                           # 拒绝远程同步的客户端
auth users = rsync                       # 指定同步时的认证用户,客户端必须通过 rsync -avzP 1.txt rsync@server_ip::1.txt 指定认证用户
secrets file = /etc/rsync.server         # 指定同步时的认证密码文件,文件权限必须是600
[root@localhost ~]$ cat /etc/rsync.server    # 配置认证密码文件,文件权限必须是600
rsync:54983254dgqdagrgfta
[root@localhost ~]$ chmod 600 /etc/rsync.server
[root@localhost ~]$ rsync --daemon    # 以daemon方式启动rsync,会监听配置文件中指定的端口(3873)

    2. 客户端同步文件:

[root@localhost ~]$ cat /etc/rsync.client    # 配置认证密码文件,文件权限必须是600,注意格式与服务端的不同,只需要写密码即可
54983254dgqdagrgfta
[root@localhost ~]$ chmod 600 /etc/rsync.server
[root@localhost ~]$ rsync -avzP --port=3873 --password-file=/etc/rsync.client 1.txt [email protected]::tmp/1.txt >> /tmp/rsync.log 2>&1

rsync 命令参数:

-a          # 相当于使用-rtplgoD这些选项
-r          # 如果同步目录要加上该选项,类似 cp 的 -r 选项
-v          # 显示同步时的详细信息,让我们知道同步的过程
-l          # 同步时保留软链接
-p          # 保持文件的权限
-o          # 保持文件的属主
-g          # 保持文件的属组
-D          # 保持设备文件信息
-t          # 保持文件的时间属性
-L          # 同步软链接的同时也同步软链接指向的源文件,如果加上该参数就不需要加上-l参数了
-P          # 显示同步过程,比-v更详细,会显示同步的进度,显示同步的网络速率,显示同步了多长时间
-u          # 如果目标文件比源文件新,则不同步
-z          # 文件传输前先压缩再同步
-e          # rsync默认是通过ssh服务连接并实现远程同步的,如果远程的ssh端口号不是22,可以通过 -e "ssh -p 3737" 来指定
--port      # rsync服务端默认监听873端口,如果不是该端口要用--port=3873来指定
--timeout   # 限制传输的超时时间,单位为秒,如 --timeout=1200
--bwlimit   # 限制传输的网络速率,单位为KBytes,如 --bwlimit=3000
--delete    # 如果dest存在src中没有的文件或目录,会把dest中src没有的文件删除
--exclude   # 过滤指定文件,如 --exclude ".svn" 会把文件名包含 svn 的文件或目录过滤掉,不同步

 

 rsync -avzP --delete --progress '-e ssh -p 58022'  /data/deploy [email protected]:/data/ks/

 

标签:tmp,文件,rsync,同步,--,txt,远程
From: https://www.cnblogs.com/justtosee/p/14888946.html

相关文章

  • Linux 部署: canal (同步mariadb数据发往kafka)
    参考文档:https://blog.csdn.net/weixin_55549435/article/details/123309631目录1节点规划2部署mariadb3部署canal4验证附录1节点规划节点ipdeployvm1......
  • 同步和异步,阻塞和非阻塞
    同步和异步,阻塞和非阻塞-结合一个例子简单说明同步和异步针对请求的客户端和请求的连接例如:客户端有一个请求的连接,我要去请求服务器端处理一个数据返回一个结果,但是服......
  • 永磁同步电机的控制算法仿真模型 MRAS无传感器矢量控制 SMO无传感器矢量控制
    永磁同步电机的控制算法仿真模型:1.永磁同步电机的MRAS无传感器矢量控制:2.永磁同步电机的SMO无传感器矢量控制(反正切+锁相环);3.永磁同步电机DTC直接转矩控制;4.永磁同......
  • 给win7/win10家庭普通版 开启远程桌面连接
    某日需要远程一台内网电脑,开启远程桌面时发现没有下图第二个框百度得知win7/win10的家庭普通版不能开启远程桌面因为是内网电脑不方便升级为旗舰版,搜索获得以下解决方......
  • CentOS7中远程连接数据库连不上的问题解决方法
      当远程连接数据库连接不起来时:可能原因:1.检查网络防火墙或其他安全设置是否阻止了连接  2.mysql服务是否启动,查看systemctlstatusmysql3.是否提前授权:......
  • Windows系统远程桌面连接CentOS7
    一个是CentOS7系统,一个是Windows10系统1、用SSHroot用户登录Centos主机;2、检查centos是否装了epel库执行命令:rpm-qa|grepepel   如果没有就安装:y......
  • Mysql主从同步
    一、主从复制的重要性   日常系统业务流量的增长,一台MySQL数据库服务器已经满足不了需求了,会负载过重,容易出现查询效率慢、宕机的情况,导致用户体验差、数据的丢失。......
  • Matlab风电光伏储能分布式能源微电网运行,并网运行,虚拟同步机控制策略
    Matlab风电光伏储能分布式能源微电网运行,并网运行,虚拟同步机控制策略,VSG风电,储能,光伏封不是电源带直流负载独立运行断开直流负载后,将模型转换为风光储+VSG+交流负载引入......
  • 基于farrow结构的时间同步算法matlab仿真
    1.算法描述         采样速率转换(SRC)在通信中非常普遍。一般有两种方法:一种是通过D/A重构信号,再采样,从而实现采样速率的转换;另一种是利用数字滤波器直接进行采样......
  • MySQL 5 从安装到同步
    安装部分创建用户和组由于采用直接初始化方式所以用户不会自动创建需要为mysql手动创建用户与组;创建组groupaddmongodbtest创建用户useraddmongodbtest-gmongod......