rsync 数据同步使用详解_Linux

rsync(d)服务端启动两种方式
1.daemon 2.xinetd inetd
启动后绑在 TCP/873 端口

% cat /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

配置 注意设置读写权限属主
% cat /etc/rsyncd.conf

motd file = /var/log/rsync/welcome.msg
pid file = /var/log/rsync/rsyncd.pid
lock file = /var/log/rsync/rsync.lock
log file = /var/log/rsync/rsyncd.log

[rsyncwww]
comment = rsync www
path = /var/www/
use chroot = no
max connections = 4
read only = false
list = true
uid = nobody
gid = nobody
auth users = wwwuser
secrets file = /etc/rsyncd.secrets
hosts allow = 1.1.1.1,2.2.2.2
hosts deny = 0.0.0.0/0
ignore errors = yes
transfer logging = yes
log format = "%a %f %l"
#log format = "%o %h [%a] %m (%u) %f %l"

[rsyncroot]
comment = rsync root
path = /
use chroot = no
max connections = 4
read only = true
#read only = false
list = true
uid = root
gid = root
auth users = rootuser
secrets file = /etc/rsyncd.secrets
hosts allow = 1.1.1.1,2.2.2.2
hosts deny = 0.0.0.0/0
ignore errors = yes
transfer logging = yes
log format = "%a %f %l"

rsyncd.secrets 一行一个用户 用户名:密码 格式

使用
rsync -auvPz --progress dir1 dir2
rsync -ztruvoglpD --progress dir1 dir2
rsync -ztruvoglpD --progress dir1/ dir2
rsync -ztruvoglpD --progress dir1/file1 dir2
如果不想包含某个目录/文件可以设置--exclude

远程使用
rsync 1.1.1.1:: 只列list
rsync user@1.1.1.1::
rsync user@1.1.1.1::module
rsync user@1.1.1.1::module/path
如果没有配置rsync server 可以通过 ssh 方式使用
rsync -e ssh -auvPz 1.1.1.1:/etc ./

同步时注意注意 / 最后的问题
不放/ 则目录名也包含mirror
放 / 则只有目录里面的东西mirror了

rsync -ztruvoglp --progress user@1.1.1.1::module/path ./
为了脚本调用方便 还可以调用 --password-file 同样注意属主权限
也可以设置环境变量RSYNC_PASSWORD=访问含用户认证的rsync

时间: 2024-08-30 21:47:32

rsync 数据同步使用详解_Linux的相关文章

linux rsync安装 配置 实例详解_linux shell

Redhat中安装rsync 1.  首先在服务端和客户端都安装rsync,我的RHEL5默认已经安装好了.在安装RedHat5的时候,可以在软件定制中的"基本系统"-->"基本"的"可选的软件包"中看见:rsync-2.6.8是默认选择安装的 2.    也可以通过命令行检查是否安装: 或者:rpm –q rsync 3.  如果在开始安装RedHat的时候,使用默认选择的rysnc软件,但现在想用更高版本的rsync,可以卸载掉rysn

SQL Server 2005数据同步图文详解

 SQL Server2005中对于增.删.改和查询是有某些冲突的,很容易造成死锁.现在有台数据库里的FileDetail表是由两套程序来操作的,一套程序负责增.删.改,另一套程序负责查询,结果当数据量大的时候,很容易造成查询的那套程序查询数据很慢,甚至造成死锁的情况.原因是SQL Server2005里的设计机制是插入的时候,死锁的记录只会是某一条,并不影响下一条和上一条,但是纠结的情况来了,你插入的时候是爽了,并不影响你,可是当我查询的时候,如果发现某一条记录被死锁,那么我这条T-SQL查询

修改AD用户密码的数据同步机制详解

现象: 意外发现一个很奇异的现象,用户在改掉自己AD账号的密码之后,新密码立即可用,但 旧密码也同样可用. 测试: 为了了解这个问题的本质,我做了很多的测试,发现这个问题 确实普遍存在,而且新旧密码都可以使用的时间,精确的控制在整整5分钟,一秒不多,一秒不少. 为尽可能排除其他因素的干扰,每次密码修改过程都在DC上进行.总共测试的DC有3台,DC01. DC02为同一站点,其中DC01为PDC仿真器,另外一台为外地站点的DC03.为提高效率,用WS-*写了一个查 询界面,用于返回"OK"

Vuejs第九篇之组件作用域及props数据传递实例详解_javascript技巧

本篇资料来于官方文档: http://cn.vuejs.org/guide/components.html 本教程是小编结合官方文档整理的一套更加细致,代码更多更全的教程,特别适合新手阅读. props数据传递 ①组件实例的作用域: 是孤立的,简单的来说,组件和组件之间,即使有同名属性,值也不共享. <div id="app"> <add></add> <del></del> </div> <script&g

PHP中filter函数校验数据的方法详解_php技巧

介绍PHP中filter函数校验数据的方法详解,PHP过滤器包含两种类型:Validation用来验证验证项是否合法.Sanitization用来格式化被验证的项目,因此它可能会修改验证项的值,将不合法的字符删除. input_filters_list() 用来列出当前系统所支持的所有过滤器. 复制代码 代码如下: <?php foreach(filter_list() as $id => $filter) {     echo $filter.' '.filter_id($filter).&

vuejs动态组件给子组件传递数据的方法详解_javascript技巧

通过子组件定义时候的props可以支持父组件给子组件传递数据,这些定义的props在子组件的标签中使用绑定属性即可,但是如果使用的是<component>动态组件,这个时候就没有显式的子组件标签,要给子组件传递数据需要在<component> 中进行绑定 <div class="app" id="deviceready"> <component :is="currentView" :user_name.s

Android通过json向MySQL中读写数据的方法详解【读取篇】_Android

本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private void parseJsonMulti(String strResult) { try { Log.v("strResult11","strResult11="+strResult); int index=strResult.indexOf("[");

Mongodb中MapReduce实现数据聚合方法详解_MongoDB

Mongodb是针对大数据量环境下诞生的用于保存大数据量的非关系型数据库,针对大量的数据,如何进行统计操作至关重要,那么如何从Mongodb中统计一些数据呢? 在Mongodb中,给我们提供了三种用于数据聚合的方式: (1)简单的用户聚合函数: (2)使用aggregate进行统计: (3)使用mapReduce进行统计: 今天我们首先来讲讲mapReduce是如何统计,在后续的文章中,将另起文章进行相关说明. MapReduce是啥呢?以我的理解,其实就是对集合中的各个满足条件的文档进行预处理

Android通过json向MySQL中读写数据的方法详解【写入篇】_Android

本文实例讲述了Android通过json向MySQL中写入数据的方法.分享给大家供大家参考,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Java类,将json上传数据的方法封装好,可以直接在主程序中调用该类,代码如下 public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String j