使用Rsync进行文件的同步与备份
Rsync是Linux下非常不错的文件同步备份工具,安全性高、备份迅速、支持增量备,功能强大且高效。
服务端配置
Rsync服务的配置文件/etc/rsyncd.conf
,示例配置(带用户名密码配置):
pid file = /var/log/rsyncd.pid
lock file = /var/log/rsyncd.lock
log file = /var/log/rsyncd.log
port = 873
#address = 10.0.xx.xx
uid = root
gid = root
use chroot = no
read only = no
# test是模块名,多个模块只需要参考test依次添加即可
[test]
path= /root/data/
# 认证的用户名,这里用的rsync,在下面的密码文件中有定义
auth users = rsync
# 密码文件(下面定义)
secrets file = /etc/rsyncd.secrets
hosts allow= *
密码文件(/etc/rsyncd.secrets
)格式:
rsync:rsync_pass
以上用户名密码之间使用冒号分隔。
注意:密码文件必须要设置权限为600,使用chmod 600 /etc/rsyncd.secrets
设置即可,不然同步时会提示:
@ERROR: auth failed on module XXX
以上配置OK后,使用rsync --daemon
启动服务即可,如果配置需要调整,直接修改对应的配置文件即可,修改完立马生效,无需重启rsync服务。
客户端配置
上述服务端配置中test模块设置了使用用户名密码的方式访问,因此在客户端使用rsync同步时需要添加用户名密码相关的参数。
一个同步示例:
# /etc/rsync.pas文件需要手动创建哦
rsync -avz --password-file=/etc/rsync.pas rsync@10.1.xx.xxx::test/ /home/test/
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性
-v,详细显示同步信息
-z,传输过程中加密
--password-file表示保存密码的文件,rsync同步时从此文件中获取密码信息,此文件同样需要设置访问权限为600。
注意:--password-file文件中的内容只保存密码即可,不需要保存用户名,否则会出现认证失败的错误,示例:
rsync_pass
远程目录的表示方式为:用户@Rsync服务器的IP::模块名/路径
最后一个参数是同步到的本地路径。
其他的参数,直接执行rsync就可以看到说明,这里不再一一说明。
其他
如果只要查看rsync服务器上的文件,可以使用以下命令(前提是所查看的模块在服务端配置了允许参看才可以):
rsync --list-only --password-file=/etc/rsync.pas rsync@10.1.xx.xxx::test/
如果需要定时同步日志,只需要把上述同步的命令,添加到shell脚本中,通过配置crontab
定期执行脚本就可以了。
对于大量文件的实时备份,可以考虑Rsync+inotify的机制,这里就不做介绍了,可以移步到这里。
Windows下的Rsync
Windows下需要安装cwRsync(客户端,请自行下载,服务端是cwRsyncServer),cwRsync其实是采用cygwin移植的Linux下的rsync命令,因此在同步某个盘符的时候需要注意路径的写法,下面是一个示例:
如果需要处理C:\WORK*下的文件,那么需要写成/cygdrive/c/work/*
rsync -r /cygdrive/c/work/ remotehost:/home/user/work/
注意
安装完Rsync后,将安装目录下的bin目录添加到PATH环境变量中,就可以使用rsync命令了。安装Rsync是不需要单独安装cygwin的,当然,如果打算通过脚本来同步,安装一下cygwin还是有必要的,毕竟linux下的shell脚本比windows下的批处理要强大的多。
使用Rsync进行文件的同步与备份的更多相关文章
- rsync+inotify-tools文件实时同步
rsync+inotify-tools文件实时同步案例 全量备份 Linux下Rsync+sersync实现数据实时同步完成. 增量备份 纯粹的使用rsync做单向同步时,rsync的守护进程是运行在 ...
- wordpress使用rsync加openvpn进行同步和备份
目录 wordpress使用rsync加openvpn进行同步和备份 环境 普通同步策略的弊端 改良的同步方案 从头细说起 备份数据 打包wordpress项目和备份 服务端安装rsync 服务端配置 ...
- Rsync+sersync文件实时同步
一.为什么要用Rsync+sersync架构1.sersync是基于Inotify开发的,类似于Inotify-tools的工具2.sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改 ...
- Rsync实现文件的同步
故事背景:我们公司是做新零售的,需要对发布的每台机器进行文件的同步更新,所以我这里做了一个小小的调研 技术调研:linux之间同步文件有两种方式rsync与scp. sync和scp在文件夹均不存在时 ...
- DropBox 超实用的免费文件网络同步、备份、分享工具
http://www.iplaysoft.com/dropbox.html DropBox 就是一款非常好用的免费网络文件同步工具(当然它也算是一个服务).当你在电脑A使用DropBox时,指定文件夹 ...
- rsync服务架设(数据同步|文件增量备份)
近期由于业务需要,需要将两台服务器数据保持同步.方案有很多,rsync是其中一种解决方案,本文对rsync的安装及配置进行简单说明,其他实现方式有兴趣可以研究.以下是本文提纲,供参考: rsy ...
- rsync 文件同步和备份
rsync 是同步文件的利器,一般用于多个机器之间的文件同步与备份,同时也支持在本地的不同目录之间互相同步文件.在这种场景下,rsync 远比 cp 命令和 ftp 命令更加合适,它只会同步需要更新的 ...
- Linux下简单粗暴使用rsync实现文件同步备份【转】
这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份. 一.备份服务器配置rsync文件 vim /etc/rsyncd.conf #工作中指 ...
- Linux Rsync实现文件同步备份(转载)
原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...
随机推荐
- 本内容中发现无效字符。处理资源 'file:///C:/Users/XDJ/Desktop/1111/press.xml' 时出错。第 5 行,位置: 11 <author>ƽ
粘贴到编译器中, 然后在复制出即可.
- JS开发windows phone8.1系列之1
http://msdn.microsoft.com/zh-cn/library/windows/apps/dn629638.aspx,要点: 1.了解项目结构:package.appxmanifest ...
- 【iCore3 双核心板_FPGA】实验二十三:使用JTAG UART终端打印信息
实验指导书及代码包下载: http://pan.baidu.com/s/1c83OPC iCore3 购买链接: https://item.taobao.com/item.htm?id=5242294 ...
- javaWeb中servlet开发(3)——Servlet生命周期
生命周期:是一个程序的存在周期,servlet由于是受容器的管理,所以容器来决定其生命周期 1.servlet生命周期 2.servlet生命周期对应的方法 3.servlet生命周期代码 publi ...
- Flink - metrics
Metrics是以MetricsGroup来组织的 MetricGroup MetricGroup 这就是个metric容器,里面可以放subGroup,或者各种metric 所以主要的接口就是注 ...
- jquery设置checkbox状态,设置dropdownlist选中值,隐藏某控件,给某控件追加东西
jquery设置checkbox状态 $("[ID$=chkType]").attr("checked", true); jquery设置dropdownlis ...
- 如何查看JDK以及JAVA框架的源码
如何查看JDK以及JAVA框架的源码 设置步骤如下: 1.点 “window”-> "Preferences" -> "Java" -> &q ...
- c#:浅克隆和深克隆,序列化和反序列化
一.浅克隆和深克隆(浅复制和深复制)浅克隆和深克隆最典型的应用是数据集对象DataSet的Clone和Copy方法.Clone()方法用来复制DataSet的结构,但是不复制DataSet的数据,实现 ...
- js 除法 取整
js 除法 取整 1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.roun ...
- 在UIScrollView的delegate方法判断滚动快慢
// 这里做预加载 CGPoint currentOffset = scrollView.contentOffset; NSTimeInterval currentTime = [NSDate tim ...