同步文件rsync

来源:互联网 发布:sql server2005标准版 编辑:程序博客网 时间:2024/04/29 18:20
Linux中实现远程复制文件的方式常用scp命令,简单方便,例如
  1. scp -r node1:/data/* /data/

操作与使用都很简单,不能实现文件的排除等高级操作,下面介绍下常用的命令rsync

rsync实现文件同步的方式包括
  • SSH方式是使用系统上的用户通过SSH进行同步操作。
  • daemon方式是rsync服务器会开一个873端口,等待客户端去连接,连接是进行验证,通过后进行同步。

一、首先介绍使用rsync服务器的操作步骤
  1. 安装rsync服务器
    1. yum install rsync -y
  2. 配置rsync服务器,简单配置有两个文件,一个是rsyncd.conf,和rsyncd.secret文件,一个是服务器基本配置,一个服务器账户配置
  3. 启动rsync服务器
    1. rsync --daemon
  4. 命令行记性copy文件
    1. # 将rsync服务器上的data名下的文件复制到本地/tmp目录下
    2. rsync node1::data /tmp

二、使用SSH方式copy文件
这种方式很简单不需要有rsync服务器,但是需求复制双方都要安装rsync命令,简单实现为:
  1. rsync -vzrtopg --progress -e ssh --exclude-from /data/help/config/exclude.properties --delete /data/* node2:/data

三、使用rsync同步文件到各个节点上
以下是使用SSH方式来同步文件的,目录结构为:

rsync_file.sh内容:
  1. #!/usr/bin/env bash
  2. PWD=`dirname $0`
  3. for host in `cat $PWD/../config/nodes.properties`; do
  4. echo $host
  5. rsync -vzrtopg --progress -e ssh --delete --exclude-from $PWD/../config/exclude.properties /data/* $host:/data
  6. done

exclude.properties内容为:
  1. soft/
  2. help/
nodes.properties内容为:
  1. node1
  2. node2
  3. node3

其中exclude.properties中包含的是被排除的文件,nodes.properties中包含的是同步到的主机名

提示:在同步过程中,可能需要输入主机账户,可以通过ssh-keygen免密来排除问题





0 0
原创粉丝点击