注意(有软连接的rsync同步,-L可以把软链接里的当普通文件同步。-l 只同步软链接不同步软链接指向的目录或文件)

rsync命令详解

rsync  
-a 归档模式 ,表示以递归方式传输文件,并保持所有属性,等同于-rlptgoD,-a选项后面可以跟一个--no-OPTION这个表示关闭-rlptgdoD中的某一个例如-a --no-l等同于-rptgoD
-r 对于目录以递归模式处理,主要针对目录,传输的是目录必须加-r
-v 打印一些信息出来,比如速率,文件数量等。
-l 保留软连链
-L 向对待常规文件一样处理软链接,如果是src(源机)中有软链接文件,刚加上该选项后会把软连接指向的目标文件拷贝到dst(目标机)
-p 保持文件权限
-o 保持文件属主信息
-g 保持文件属组信息
-D 保持 设备文件信息
-t 保持 文件时间信息
--delete 删除那些dst中src没有的文件
--exclude=PATTERN指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt)
  PATTERN路径是相对弄要同步的路径如(rsync -avPz --exclude=zabbix /opt/sh 10.8.64.99::backup/tmp/ #排除的是/opt/sh/zabbix)
--progress或-P 在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量,同步的文件传输速度等等。。。
--bwlimit= (限制传输速度)
-u 加上这个选项后将会把DST中比SRC还新的文件排除掉,不会覆盖
-z 压缩 传输的过程中会压缩,我们并不会感知。 文件到了目标机器上我们看到的是一样的。
(工作中常用的几个 -a -v --delete --exclude ,请熟记他们)

rsync几种写法:

rsync同步ssh隧道方式:#后面的目录是目标地址
例1:rsync -avPz 192.168.183.109:/tmp/.txt /tmp/ 拉 远程到本机
例2:rsync -avPz /tmp/.txt 192.168.183.109:/tmp/ 推 本机到远程
例3:rsync -avPz -e "ssh -p 10022" /tmp/.txt 192.168.183.109:/tmp/ 推 本机到远程 端口不 是22的情况
rsync同步daemon方式
例4:不需要密码 学ssh免密码登陆
rsync -auvPz --bwlimit= (限制传输速度) net-snmp-5.7..tar.gz test@113.204.101.197::test --password-file=/home/hanxiaohui/.rsync.password
例5:查询rsyncd 可用模块 (list参数,yes会显示,no不会显示)
rsync -list --port 192.168.186.118::

rsync daemon 配置文件详解

port=  这是默认端口,要用其它端口改这个
log file=/var/log/rsync.log 指定日志文件
pid file=/var/run/rsyncd.pid 指定pid ,启支停止等进程管理操作
#address=192.168.0.10 指定启动rsyncd服务的ip,假如你的机器 有多个ip,就可以指定其中一个启动rsyncd服务,默认是在全部ip上启动
[test] 指定模块名,自定义
path=/root/rsync 数据存放路径(路径不存在会报@ERROR: chroot failed)
use chroot=true true|false 默认是true,意思是在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全保护,但是缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件的话建议设置成false.(待验证 )
max connections= 指定最大的连接数,默认是0即没有限制。
read only=no 如果为true则不能上传到该模块指定的路径下。
list=true 指定当用户查询该服务器上的可用模块时,该模块是否被列出,设定true列出,false隐藏
uid=root
gid=root uid/gid指定传输文件时,以哪个用户/组的身份传输
auth users=test 指定 传输时要使用的用户名
secrets file=/etc/rsyncd.passwd 指定密码文件,该参数连同上面的参数如果不指定则不使用密码验证,注意该密码文件的权限一定要是600(相对于rsync的启动用户)
hosts allow=192.168.183.109 192.168.55.0/24 指定被允许连接该模块的主机,可以是Ip或者网段,如果是多个之间用空格隔开。
配置文件会为两部分:全局,模块 可以有多个模块
全局:port,log file, pid file, address
其实模块中的一些参数例如use chroot,max connetcions,uid,gid,auth users, secrets file,hosts allow都可以配置成全局的。

rsync daemon启动

rsync --daemon --config=/etc/rsyncd.conf

rsync daemon例子1(无密码)

[root@host1 ]# cat /etc/rsyncd.conf
#port=
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
uid=root
gid=root
[test]
path=/root/test
use chroot=no
max connections=
read only=no
list=true
ignore errors
timeout =
hosts allow=192.168.55.0/ 启动
rsync --daemon --config=/etc/rsyncd.conf 客户端同步
rsync -avPz /tmp/abc 192.168.55.51::test/ #把abc目录 同步到服务端test模块下 例2:
uid git = deploy
rsync -avPz --no-o --no-g /data/media/* 47.100.217.13::data/ #这种同步方式,目标文件的用户和组都是deploy

rsync daemon例子1(有密码)

#port=
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
uid=root
gid=root
#address=192.168.0.10
[test]
path=/root/rsync #
use chroot=true
max connections=
read only=no
list=true
ignore errors
timeout =
auth users=test
secrets file=/etc/rsyncd.passwd
hosts allow=192.168.183.0/
.编辑secrets file,保存后要赋予600权限,如果权限不对,不能完成同步(相对于启动rsync的用户)
cat /etc/rsyncd.passwd test:test123
chmod /etc/rsyncd.passwd 更改权限 启动rsync
rsync --daemon --config=/etc/rsyncd.conf 启动服务
启动后可以查看一下日志文件,并查看端口是否启动
cat /var/log/rsync.log netstat -lnp | grep
如果 想开机启动,请把命令
#rsync --daemon --config=/etc/rsyncd.conf 写入到 /etc/rc.d/rc.local文件中rsyncd.conf修改配置文件 不需要重启服务 例1: rsync -avLpz test@192.168.183.118::test/test/ ./test1/ 拉 远程到本机
例 : rsync -avL ./test2/ test@192.168.183.118::test/test/ 推 本机到远程
例3: 自定义端口
rsync -avL --port ./test2/ test@192.168.183.118::test/test/ 推 本机到远程
例4: 免输密码
.vim /etc/pass 加入test的密码 test123
.修改密码的权限 chmod /etc/pass
.在 同步的时候指定一下密码文件
rsync -avL ./test2/ test@192.168.183.118::test/test/ --password-file=/etc/pass #这个密码文件必须跟执行人是同一个所有者

rsync和rsync后台模式的更多相关文章

  1. man rsync翻译(rsync命令中文手册)

    本文为命令rsync的man文档翻译,几乎所有的选项都翻译了,另外关于筛选规则部分只翻译了一部分.由于原文很多地方都比较啰嗦,所以译文中有些内容可能容易让国人疑惑,所以我个人在某些地方加上了注释.若有 ...

  2. inotify+rsync sersync+rsync实时同步服务

    中小型网站搭建-数据实时的复制-inotify/sersync inotify是一种强大的,细粒度的.异步的文件系统事件监控机制(软件),linux内核从2.6.13起,加入inotify支持,通过i ...

  3. 文件触发式实时同步 Rsync+Sersync Rsync+Inotify-tools

    一.概述 1.Rsync+Sersync 是什么? 1)Sersync使用c++编写基于inotify开发的触发机制: 2)Sersync可以监控所监听的目录发生的变化(包括新建.修改.删除),具体到 ...

  4. ios xmpp开发应用后台模式接收聊天信息处理方案

    ios xmpp开发应用后台模式接收聊天信息 最近在使用xmppframwork来实现一个聊天应用,碰到了一个问题,应用进入后台以后,就接收不到消息了: 怎么样才能使应用被切到后台时,应用中的网络连接 ...

  5. Server Data Synchronization Via Linux rsync、rsync+inotify Between Load Balance Server

    目录 . 远程文件同步的应用场景 . rsync+crontab . rsync+inotify 1. 远程文件同步的应用场景 在负载均衡集群的应用场景中,往往在多台web server的前端有一个提 ...

  6. iOS之本地推送(前台模式与后台模式)

    #import "AppDelegate.h" #import "GlobalDefine.h" @interface AppDelegate () @end ...

  7. docker 的前台模式和后台模式

    Detached(后台模式) vs foreground(前台模式) 当我们启动一个容器时,首先需要确定这个容器是运行在前台还是运行在后台. -d, --detach Run container in ...

  8. iOS后台模式BackgroundMode

    概述 iOS平台提供给应用特殊的后台服务,应用在后台时仍被允许能执行一会. 后台模式 UIBackgroundModes Xcode Modes 1. audio -> Audio.Airpla ...

  9. 对iOS后台模式最多10分钟运行时间的进一步理解

    在app进入后台时,系统初始默认是只有10s的处理时间,但如果10s不够,我们可以主动申请,网上流传最多的一个说法是10分钟. 但这种说法有个前提: 那就是iOS7之前,是这样 但从iOS7开始,我们 ...

随机推荐

  1. LUOGU P3759 [TJOI2017]不勤劳的图书管理员(树套树)

    传送门 解题思路 和以前做过的一道题有点像,就是区间逆序对之类的问题,用的是\(BIT\)套权值线段树,交换时讨论一下计算答案..跑的不如暴力快.. 代码 #include<iostream&g ...

  2. LOJ 3090 「BJOI2019」勘破神机——斯特林数+递推式求通项+扩域

    题目:https://loj.ac/problem/3090 题解:https://www.luogu.org/blog/rqy/solution-p5320 1.用斯特林数把下降幂化为普通的幂次求和 ...

  3. 2018-2019 2 20165203 《网络对抗技术》Exp7 网络欺诈防范

    2018-2019 2 20165203 <网络对抗技术>Exp7 网络欺诈防范 实验目的 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法. 实验内容 (1)简 ...

  4. SharePoint 2013中PerformancePoint仪表板设计器连接Analysis Services 2012的问题

    在SharePoint 2013的PerformancePoint仪表板设计器在创建链接到AnalysisServices 2012的数据链接的时候,数据库列表无法获取服务器上的数据库.这个问题挺让人 ...

  5. spark为什么比mapreduce运行速度快很多

    比较重要的2个原因 –            1.基于内存 mapreduce任务每次都会把结果数据落地到磁盘,后续有其他的job需要依赖于前面job的输出结果,这里就需要进行大量的磁盘io操作,获取 ...

  6. zabbix真的很简单 (安装篇)

    系统环境: Centos 6.4 一直觉得 zabbix 很简单,但是还是有好多人看了好多文档都搞不明白怎么用,我从2013年使用到现在也小有心得,如果时间允许,很高兴与大家一起分享我在使用过程中的一 ...

  7. css缓存问题

    频繁更换样式,会导致样式缓存, 在实际项目开发过过程中,页面是上传到服务器上的.而为了减少服务器的压力,让用户少加载,浏览器会将图片.css.js缓存到本地中,以便下次访问网站时使用.这样做不仅减少了 ...

  8. HDU 3466 Proud Merchants(01背包)

    题目链接: 传送门 Proud Merchants Time Limit: 1000MS     Memory Limit: 65536K Description Recently, iSea wen ...

  9. python读取excel保存到mysql

    首先安装xlrd模块:pip install xlrd ,核心代码网上有很多,这里主要是关于一些个人实际碰到问题细节的处理 1.excel数据不规范导致读取的数据存在空白行和列: 2.参数化执行sql ...

  10. javascript中数组的应用总结

    最近在总结javascript的相关应用,今天对js中的数组部分进行归纳总结,以便在以后的工作中有所参考. 1.在js中数组的定义方式有两种: var a = [1,2,3,4]; var b = n ...