http://oplinux.com/app/rsync/rsync-all-mode.html
一、概念和基本命令
官网:http://rsync.samba.org/
Rsync,由开发samba的公司开发,在生产环境中主要是用来同步文件(异地备份文件),常常用来同步频繁修改的网页。
用于rsync同步的远程主机,最常见的包括两种服务实现方式:
其一,基于远程shell 的程序,如OpenSSH;特点是灵活,只要有权限可以将文件同步到系统任何位置,加密方式传输;
其二,rsync 程序自身的“daemon”服务器模式。需要共享一个专用的目录,传输不加密;
rsync的常用的命令选项及其含义:
-a 使用归档(archive)模式,保留文件原有的权限、属性、属主等信息,等同于使用“-rlptgoD”等多个选项的组合
-l 符号(软)连接文件仍然复制为符号连接
-H 保留硬连接文件
-r 递归模式,包含目录及子目录中所有文件
-v 显示同步过程的详细(verbose)信息
-z 在传输文件时进行压缩(compress)
-o 保留文件的属主标记(仅超级用户使用)
-g 保留文件的属组标记(仅超级用户使用)
-t 保留文件的时间标记
-p 保留文件的权限标记
-D 保留设备文件及其他特殊文件
–delete 删除目标文件夹有而源文件夹中没有的文件
–checksum 根据校验和来决定是否跳过文件(而不是根据文件大小、修改时间)
a.当连接openssh-server服务时,使用一个冒号“:”分隔。目录名对应远程主机中的绝对路径,以远程主机的系统用户进行验证。
例如:
# rsync -avz sshuser@www1.benet.com:/var/www/html/ /tmp/ –将远程主机的文件同步到当前主机的/tmp目录,sshuser为远程主机的系统帐号
b.当连接 rsync –daemon 服务时,使用两个冒号“:”分隔(或者使用斜杠“/”分隔,同时在主机地址前加“rsync://”前缀)。目录名对应远程主机发布的备份模块名(共享 名),以远程主机指定的rsyncd_users.db 文件中的用户进行验证(允许匿名)。
例如:
# rsync -avz backuper@192.168.0.11::webroot /tmp/
# rsync -avz rsync://backuper@192.168.0.11/webroot /tmp/
rsync只同步更新过的文件,所以很快。
二、rsync服务配置
环境如下:
rsync_client<——–>rsyncd
192.168.0.15 192.168.0.20
rsync服务器启动模式有两种模式:
独立模式;daemon
依赖模式(使用xinetd)。
1、软件安装
yum -y install rsync –安装软件包,Redhat系统默认已经安装
2、创建配置文件/etc/rsyncd.conf
# mkdir /webroot –创建一个共享目录,在配置文件指定
# chown nobody.nobody /webroot/ –修改共享目录的权限,跟配置文件中定义的uid和gid相对应
# vim /etc/rsyncd.conf –修改配置文件
uid=nobody –指定访问共享目录的用户
gid=nobody –指定访问共享目录的组
use chroot=yes –指定用户只能在共享目录活动,安全重要
address=192.168.1.10 –指定监听地址(本机)
port 873 –指定程序端口
log file=/var/log/rsyncd.log –指定日志存放位置
pid file=/var/run/rsyncd.pid
hosts allow=192.168.1.0/24 –定义访问控制列表
[webroot] –共享名
path=/webroot –共享目录
comment= web root share with rsyncd –描述
read only=yes –是否以只读方式共享(将不能进行修改)
dont compress=*.gz *.bz2 *.tgz *.rar *.zip –当rsync中使用z开关时,以这些后缀结尾的文件不再进行压缩
auth users=user01 user02 –访问共享目录需要进行验证,跟系统用户没有关系
secrets file=/etc/rsyncd_user.db 用户名和密码的映射文件,其文件权限要other不能读,即权限最后设置为600,不然会验证出错
#man 5 rsyncd.conf –查看配置文件帮助手册
还可以指定max connections,最大连接数
3、创建用户和密码映射文件
# vim /etc/rsyncd_user.db –与主文件中设置的secrets file文件名对应
user01:123 –用户名:密码
user02:456
一定要记得更改密码文件的权限,不然将不成功:
# chmod 600 /etc/rsyncd_user.db –设置此文件的权限为600
4、启动rsync
第一种方法(依赖方式):对于访问量不是很大的建议使用依赖方式
# chkconfig rsync on –先将rsync启动
# service xinetd restart –然后重启它的依赖服务xinetd
第二种方法(独立方式):如访问量很大,为了提高性能,可以使用独立方式
# rsync –daemon –以独立模式启动服务
# vim /etc/rc.local –设置为开机启动,因系统开机会自动最加载rc.local文件
/usr/bin/rsync –daemon
5、客户端同步文件
第一种方法:
# rsync -avz –delete user01@192.168.1.10::webroot /var/tmp –::后接的是共享名
Password:
receiving file list … done
./
a.txt
b.txt
test.tar.bz2
sent 178 bytes received 543 bytes 288.40 bytes/sec
total size is 227 speedup is 0.31
–delete 当目录有,源没有时,在目标删除源没有的内容,即可以保持两边的文件同步
第二种方法:
# rsync -avz –delete rsync://user01@192.168.1.10/webroot /var/tmp –命令的格式跟第一种方法不同
Password:
receiving file list … done
./
a.txt
b.txt
test.tar.bz2
sent 178 bytes received 543 bytes 206.00 bytes/sec
total size is 227 speedup is 0.31
第三种方法:
不需要输入密码的同步方式(适合于脚本方式调用):
# vim /root/passwd.txt –先创建一个密码文件
123 –密码
# chmod 600 /root/passwd.txt –必须设置600的权限才能使用
# rsync -avz –delete –password-file=/root/passwd.txt rsync://user01@192.168.1.10/webroot /var/tmp
receiving file list … done
./
a.txt
b.txt
test.tar.bz2
sent 178 bytes received 543 bytes 1442.00 bytes/sec
total size is 227 speedup is 0.31
–password-file 指定用户名对应的密码文件,此文件最好是放在root目录中,并设置为隐藏文件。
*制作crontab任务计划:
# crontab -e
*/5 * * * * /usr/bin/rsync -avz –delete –password-file=/root/passwd.db rsync://user01@192.168.0.20/webroot/a /var/tmp &> /dev/null
–每五分钟执行一次同步
相关推荐
4) 主控及被控端自动切换rsync用户,使用rsync用户配置免密访问所有被控端,即便服务器被黑,rsync用户访问也做不了什么; 5) 主控端即备份服务器使用rsync用户增加同步、日志记录、钉钉发送消息等定时任务; 6) ...
rsync 数据同步部署指南 rsync 是一种快速、可靠的文件同步工具,广泛应用于数据同步、备份和镜像等领域。以下是 rsync 数据同步部署指南的摘要信息: 一、什么是 rsync? rsync 是一个免费的、功能强大、跨平台...
在本教程中,我们将深入探讨rsync的安装部署以及如何实现两台计算机节点间的数据文件同步。 首先,让我们来了解rsync的工作原理。rsync采用增量传输机制,即只传输文件中变化的部分,大大减少了网络带宽的占用。它...
### 部署安全传输Rsync服务初学教程 #### Rsync简介 Rsync是一种用于在多台计算机之间同步文件的高效工具。它通过只发送文件差异的方式进行数据同步,从而节省了大量的网络带宽和时间资源。Rsync支持多种协议(如...
《服务器目录实时同步部署手册——基于rsync与inotify》 在现代的IT环境中,保持数据的一致性和可用性至关重要。对于多服务器架构,实时文件同步成为了一个必要且高效的解决方案。本文将详细介绍如何利用rsync和...
rsync是一种广泛使用的开源同步和备份工具,它在Linux和Unix系统中尤为常见。rsync以其高效、快速的文件同步特性而闻名,可以用于本地文件的备份或远程系统的数据迁移。下面将详细介绍rsync的安装、配置以及使用方法...
### 图解rsync数据同步部署文档关键知识点解析 #### 一、什么是rsync? rsync是一种高效的远程数据同步工具,最初设计用于Unix-like系统环境,但后来也发展出了Windows下的实现,如cwRsync。其核心功能在于能够...
gulp-rsync, Gulp插件用于通过rsync部署文件 gulp在Gulp任务中使用 rsync的文件传输和同步功能。 gulp-rsync 调用 rsync,并为你提供了一个易于安装的选项子集。先决条件rsync 需要安装在你的机器上,并且必须在你的...
rsync服务器的部署基于多种需求,包括但不限于: - **数据备份与恢复**:rsync可以用于同一主机内部备份,或跨不同主机的数据备份,确保数据的安全性。 - **文件同步**:rsync能够在多台服务器间同步文件,特别适合...
- **在目标服务器(S1 和 S2)上部署 rsync 服务**:首先需要确认 rsync 版本是最新的,如 3.0.6 或更高。rsyncd.conf 文件配置了 rsync 服务的相关参数,如用户权限、是否使用 chroot、并发连接数、超时时间等。 ...
**一键安装Rsync脚本** 是一个为了简化Rsync服务端环境部署而设计的实用工具。Rsync(Remote Sync)是一种高效、强大的文件同步和备份工具,广泛应用于系统管理员之间同步数据、备份服务器或者在多台机器间进行文件...
在服务端部署 rsync 服务时,我们需要安装 rsync 软件包并启动服务。 ``` # 安装服务 yum install -y rsync # 启动服务,并设置开机自启 systemctl start rsyncd && systemctl enable rsyncd ``` 2. 创建 rsync ...
rsync-3.1.2-4.el7.x86_64.rpm linux系统下rsync安装包
- 可以通过命令行`rsync --daemon`启动rsync服务。 - 如果希望开机自动启动rsync服务,可以通过以下几种方式实现: - 编辑`/etc/services`添加rsync服务端口(默认873)。 - 编辑`/etc/inetd.conf`添加rsync服务...
提供的资源包中包含了一键部署脚本,这通常是一个bash脚本,用于简化rsync和sersync的安装过程。使用步骤可能包括: 1. 将压缩包上传到服务器的`/opt`目录。 2. 解压安装包:`tar -zxvf sersync2.5.4_64bit_binary_...
hexo-deployer-rsync Rsync 部署器插件。安装$ npm install hexo-deployer-rsync --save选项你可以在_config.yml配置这个插件。 deploy : type : rsync host : <host> user : <user> root : <root> port : [port] # ...