利用rsync同步多台机器文件到同一台

原创 2015年07月09日 15:36:22

一、什么是rsync

  rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件

二、搭建rsync服务器(服务端配置)

     鹅厂机器都自带了rsync,所以就只需要写一个配置文件rsyncd.conf即可,下面详细解释一下:

#运行rsync守护进程的用户
uid = root
#运行RSYNC守护进程的组
gid = root
#不使用chroot
use chroot = no
#最大连接数是4
max connections = 4
#pid文件存放位置
pidfile=rsyncd.pid
#锁文件存放位置
lockfile=rsync.lock
#日志文件存放位置
logfile=rsyncd.log
#定义一个model,在客户端连接时会用到,如果要同步多个目录,可以定义多个model
[video]
#要同步的目录
path =/data/tyronetao/face_recog/youtu_face/local_v
#忽略无关的IO错误
ignore errors
#只读,不能上传
readonly =true
#禁止查看文件列表
list =false
#允许访问服务的ip
#hosts allow = 192.168.1.200
#禁止访问服务的ip
#hosts deny = 0.0.0.0/32
#认证的用户名,系统必须存在的用户,如果你想用多个用户以,号隔开,比如auth users = easylife,r#oot;但是密码需要在passwd配置,不是系统的密码。
authusers= user_00
#认证用户密码文件,配置auth users的密码
secretsfile=passwd

 

密码文件passwd格式很简单,passwd的内容格式为:用户名:密码,比如我的就是

            user_00:taozhiwei

密码文件的文件属性设为root拥有, 且权限要设为600;所以执行以下操作

            chown root:root passwd #修改root拥有,
            chmod 600 passwd      #修改权限

运行rsync(root身份,否则无法读取passwd文件) :rsync --config=rsyncd.conf --daemon  --port=18088;

其中--port指定了端口,--config指定了配置文件所在路径,--daemon  指定了以守护进程的方式运行;

三、客户端连接并同步文件

  1. 手动输入密码:rsync -vzrtopg --port=18088 --delete --progress  user_00@127.0.0.1::video /data/tyronetao/face_check/video;其中user_00@127.0.0.1中的user_00就是服务端authusers里配置的,ip换成实际ip即可,然后是::video,video为服务端定义的一个model,video前是2个冒号;/data/tyronetao/face_check/video指定的是同步到本地的路径;-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。--progress是指显示出详细的进度情况;--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除
  2. 自动密码方式:rsync -vzrtopg --port=18088 --delete --progress --password-file=/data/tyronetao/syn_rsync/password user_00@127.0.0.1::video /data/tyronetao/face_check/video;其中--password-file指定了密码文件password所在路径,password里只需包含服务器端auth user的密码即可,比如我保存的就是taozhiwei;客户端password文件属性也要设为root拥有, 且权限要设为600;执行如下操作:          chown root:root passwd #修改root拥有,
              chmod 600 passwd      #修改权限

        Rsync常见错误请参考:  http://www.tuicool.com/articles/me2IFjf

        更多细节参考:http://blog.chinaunix.net/uid-12306154-id-2181530.html

在同一台机器上实现主从复制,多个mysql(windows)

最近在自学,看到了mysql的主从复制,觉得挺有意思的,就研究了下.无奈试了多种方法均以失败告终,最后只好在同一台机器上安装多个mysql.试试主从复制. 一共试了三种方式,目前只成功了一种. 1...
  • sc9018181134
  • sc9018181134
  • 2016年12月26日 15:29
  • 2883

在linux下使用rsync将文件定时同步到另外一台机器

在部署的时候,我们都会遇到前后台分离的场景。编辑在后台进行编辑工作,前台的访问由另外一台独立的服务器提供访问,这个时候就存在编辑上传的资源如何自动的同步到前台显示机器的问题。在linux下通过简单的配...
  • yaonianlong
  • yaonianlong
  • 2014年12月03日 08:47
  • 1472

centos7安装rsync及两台机器进行文件同步

安装及配置安装运行:yum -y install rsync #启动rsync服务 systemctl start rsyncd.service systemctl enable rsyncd.s...
  • cdnight
  • cdnight
  • 2017年12月21日 11:17
  • 168

Rsync如何同步服务器文件与本地文件

一、rsync命令的用法在配置完rsync服务器后,就可以从客户端发出rsync命令来实现各种同步的操作。rsync有很 多功能选项,下面就对介绍一下常用的选项: rsync的命令格式可以为:...
  • u010030590
  • u010030590
  • 2016年08月18日 11:38
  • 3269

rsync实现客户端自动与服务器同步数据详细过程(原创)

rsync实现客户端自动与服务器同步数据
  • dongfengcool
  • dongfengcool
  • 2014年08月08日 11:11
  • 2197

多台机器时,简便的一条命令多台执行的方式

1.简介          在互联网企业,现在分布式几乎是必备,我们同一个业务线上的机器一般是大于1台。在这种情况下,我们经常遇到这么一个场景,为了排查一个问题,我们需要上多台机器上多次执行同一条命令...
  • helloworldwt
  • helloworldwt
  • 2016年12月20日 15:58
  • 325

利用 rsync 在服务器间同步目录

##场景 服务器 A 192.168.1.1 服务器 B 192.168.1.2 要将 A 服务器的 /data/logs 目录同步到 B 服务器的 /home/logs 下 ##执行环境...
  • abcd1f2
  • abcd1f2
  • 2016年03月14日 19:56
  • 1212

一台机器上安装zookeeper+kafka集群

版本: Ubuntu 14.04.1 zookeeper-3.4.6 kafka_2.10-0.10.1.0 1.zookeeper配置 $  sudo mkdir -p  /opt...
  • u013244038
  • u013244038
  • 2016年12月30日 08:33
  • 987

将文件从一台linux机器拷贝到多台的方法

首先你所操作的各台linux机器间必须设置了ssh免密码登录,具体方法可上网查看。将文件从一台linux机器拷贝到多台分为以下几个步骤: 第一步:创建脚本文件remotecopy.sh #!/bi...
  • DF_XIAO
  • DF_XIAO
  • 2015年07月17日 10:57
  • 1696

一台机器同时部署运行多个Tomcat

#######################一台机器同时部署运行多个Tomcat ############################### 注:下文介绍为两个tpmcat 环境:apache-...
  • typa01_kk
  • typa01_kk
  • 2015年10月27日 18:56
  • 1950
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用rsync同步多台机器文件到同一台
举报原因:
原因补充:

(最多只允许输入30个字)