Rsync 服务器文件同步的搭建以及使用

rsync 是类unix系统下的数据镜像备份工具, 它可以镜像保存整个目录树和文件系统。并且很容易做到保持原文件的权限,时间,软硬链接等等。

无须特殊权限即可安装。

特点:

快速、  第一次同步时会复制全部内容,但在下一次他只传修改过的文件,并且在传输过程中可以实行压缩及解压缩操作,因此可以使用更少带宽。
安全、 可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket链接
支持匿名传输,以方便进行网站镜像。

首先

下载安装包

代码如下:

wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz   
tar zxvf rsync-3.0.9.tar.gz   
cd rsync-3.0.9   
./configure
make
make install

安装完毕后,新建sync配置文件

代码如下:

vim /etc/rsyncd.conf   
uid=www   
gid=www   
max connections=1000   
use chroot=no   
log file=/var/log/rsyncd.log   
pid file=/var/run/rsyncd.pid   
lock file=/var/run/rsyncd.lock

[test]   
path=/data0/htdocs/
comment = www.test.com CDN src files   
ignore errors   
read only = no   
hosts allow = 127.0.0.1 192.168.1.0/24 10.1.1.0/24
hosts deny = *

修改配置文件权限  以及项目目录权限

代码如下:

chmod 644 /etc/rsyncd.conf   
chown www.www /data0/htdocs

开启rsync

代码如下:

rsync --daemon

服务端与客户端配置一样

在服务端执行

代码如下:

rsync -rtuv --delete /data0/htdocs/ 10.1.1.195::test/

将本地的/data0/htdocs/下的所有文件同步到 客户端10.1.1.195服务器的test模块下

在客户端执行

代码如下:

rsync -vzrtopg --delete --progress www@10.1.1.195::test /data0/htdocs/

将远程服务器10.1.1.195下的test模块内容 同步到本地/data0/htdocs/下

上面这个命令行中-vzrtopg代表的意思是:
    -v表示verbose(详细)
    -z表示zip(压缩)
    -r表示recursive(递归目录)
    -topg是保持文件原有属性如o=owner(属主)、t=times(时间)、p=perms(权限)、 g=group(组)的参数
    -H表示保持硬连接
    -l:保留软链结
    -u:表示只更新源文件比目标时间新的文件
    --progress是指显示出详细的进度情况
    --delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。

以下是过程中容易分发生的错误

rsync: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

解决办法: 在/etc/ld.so.conf中加一行/usr/local/lib   运行ldconfig     在运行 rsync --daemon即可

报错原因: 可能之前更新过iconv库,如果你不是root, ldconfig也运行不了的,解决办法就是,设置环境变量 LDFLAGS=-L/usr/local/lib

rsync: failed to connect to 192.168.1.42 (192.168.1.42): No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(122) [sender=3.0.9]

解决办法: 可能因为客户端或者服务端的防火墙开启 导致无法通信,可以设置规则放行 rsync  或者直接关闭防火墙。

还有一种在同步过程中可能会提示没有权限

解决办法: 看一下模块同步目录权限是否设置的对,模块目录权限要设置为配置文件内的  uid  与 gid

(0)

相关推荐

  • Rsync 服务器文件同步的搭建以及使用

    rsync 是类unix系统下的数据镜像备份工具, 它可以镜像保存整个目录树和文件系统.并且很容易做到保持原文件的权限,时间,软硬链接等等. 无须特殊权限即可安装. 特点: 快速.  第一次同步时会复制全部内容,但在下一次他只传修改过的文件,并且在传输过程中可以实行压缩及解压缩操作,因此可以使用更少带宽.安全. 可以使用scp.ssh等方式来传输文件,当然也可以通过直接的socket链接支持匿名传输,以方便进行网站镜像. 首先 下载安装包 复制代码 代码如下: wget http://rsync

  • shell脚本实现本地文件与服务器文件同步

    为何创建此脚本是因为方便项目的布署,不需要手动地去同步不同的项目,而只需要简单的执行shell脚本,输入项目名就能发布到服器上. 1.shell文件代码 #!/bin/sh read -t 30 -p "请输入项目名:" name echo -e "\n" echo "项目名为:$name" case $name in cn) rsync -r ~/project1 root@192.168.18.2:/project1 --exclude=&q

  • RSync实现文件同步备份配置详解

    一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 "rsync 算法"提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件. rsync 包括如下的一些特性: 能更新整个目录和树和文件系统: 有选择性的保持符号链链.硬链接.文件属于.权限.设备以及时间等:

  • windows下使用cwRsync定期备份网站(服务器文件同步)

    linux下有sync, windows下也有类似的软件,就是cwRsync,此软件分为服务器端/客户端.能找到的最新的版本是3.0.1.下载地址 cwRsync下载 1.cwRsync安装 安装的过程很简单,安装 server 就可以了,server 包括了 client 的功能.安装完 server 后,会在 service 中增加 Rsync 和 ssh 服务,进入服务管理,设置为自动启动.安装成功后,要备分的文件目录必须加上 SvcwRsync 这个用户可读权限. 2.cwRsync服务

  • 基于rsync写脚本实现多节点多服务器文件一键同步的方法

    目录 集群脚本分发 scp 基本语法 简单操作 rsync 基本语法 简单操作 xsync 需求 实现 SSH 无密码登录 免登陆原理 操作步骤 集群脚本分发 在处理 Linux 集群的时候,常常会涉及到集群内文件的同步.文件数量多,且需要频繁同步的情况下,运用 一些 Linux 命令能很大程度上的帮助我们节省时间和精力. 本文将介绍 scp 和 rsync 两个命令 scp(secure copy) 安全拷贝:可以实现服务器与服务器之间的数据拷贝.rsync 远程同步工具:主要用于备份和镜像.

  • 使用cwRsync实现windows下服务器文件定时同步备份(附错误处理方法)

    首先要下载cwRsync的服务端和客户端软件,下载地址如下: 服务端:cwRsync Server (多台服务器文件同步服务端) V4.1.0 免费版 客户端:cwRsync(多服务器文件同步客户端) V4.1.0 免费版 不过我们使用的一般不是最新版本,老版本可以到s.jb51.net的服务器文件同步专区下载 然后我在本地机器上安装了其中的服务器端(10.0.2.136),然后在同网段下的另一台机器(10.0.2.137)安装了客户端.为了测试,我专门在本地机器上的f盘上放置了我们的产品dnt

  • Linux 服务器同步 Rsync同步服务器文件

    当一台服务器上的文件更新后,其它的服务器也需要更新,而且在更新的时 候应该是只对新增或是修改过的文件进行更新,否则会造成网络带宽和时间的浪费.rsync就是能有 效的保持文件及目录的一致的优秀软件. rsync,remote synchronize 顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的 权限.时间.软硬链接等附加信息,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另 外它还是免费的软件.rysnc的官方网站:http://rsync.sa

  • python rsync服务器之间文件夹同步脚本

    本文实例为大家分享了python rsync服务器之间文件夹同步的具体代码,供大家参考,具体内容如下 About  rsync 配置两台服务器之间3ssh-key后,可以实现自动化无需手动输入密码,脚本如下: import argparse import datetime from functools import partial import multiprocessing as mp import os import paramiko as pmk import time def check

  • Centos rsync文件同步配置步骤分享

    rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了--remote sync 它的特性如下: 可以镜像保存整个目录树和文件系统. 可以很容易做到保持原来文件的权限.时间.软硬链接等等. 无须特殊权限即可安装. 快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽. 安全:可以使用scp.ssh等方式来传输文件,当然也可以通过直接的socket连接. 支持匿名传输,以方

  • Sersync+Rsync实现触发式文件同步实战过程

    背景 通常我们在服务器上使用rsync加上crontab来定时地完成一些同步.备份文件的任务.随着业务和应用需求的不断扩大.实时性要求越来越高.一般rsync是通过校验所有文件后,进行差量同步,如果文件量十分庞大,那么rsync进行校验的过程也是十分耗时的.而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式.其次,rsync不能实时的去监测.同步数据,虽然它可以通过crontab方式进行触 发同步,但是两次触发动作一定会有时间差,这样就导致了服务端和客户端数据可能出现不一致,无法在应用

随机推荐