用rsync从Linux到Windows远程备份
rsync是Linux系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。rsync的最新版本可以从http://rsync.samba.org/rsync/获得。
它的特性如下:
1、可以镜像保存整个目录树和文件系统。
2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。
3、无须特殊权限即可安装。
4、优化的流程,文件传输效率高。
5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
本文介绍了如何使用rsync服务从Linux到Windows进行远程备份。
一、配置服务器端
首先我们需要配置rsync,打开配置文件/etc/xinetd.d/rsyncd.conf(如果没有请创建它),修改相应的配置项,并增加以下内容:
uid = nobody # 备份以什么身份进行,用户ID
gid = nobody # 备份以什么身份进行,组ID
#注意这个用户ID和组ID,如果要方便的话,可以设置成root,这样rsync几乎就可#以读取任何文件和目录了,但是也带来安全隐患。建议设置成只能读取你要备
#份的目录和文件即可。
max connections = 4 # 最大连接数为4
[www] # 指定认证的备份模块名
path = /www # 需要备份的目录
comment = BACKUP WWW # 注释
ignore errors # 忽略一些无关的IO错误
read only = yes # 设置为只读
list = no # 不允许列文件
auth users = wwwuser # 认证的用户名,如果没有这行,则表明是匿名
hosts allow=220.122.133.31 #允许连接服务器的主机IP地址
secrets file = /etc/wwwuser.pass # 认证文件名,用来存放密码
这一段我们修改完成。
注意:如果同时还需要备份其它目录的话,可以直接在配置文件的后面继续增加配置内容,例如:
[database]
path = /var/lib/mysql
……
这样就可以同时备份多个目录了。
然后为备份模块设置密码文件,如上例的密码文件为/etc/wwwuser.pass,使用编辑器创建这个文件,并输入用户名称和密码:
vi /etc/wwwuser.pass
输入以下内容:wwwuser:123456
这样,为备份模块www的用户wwwuser设置了密码123456。注意,出于安全目的,这个文件的属性必需是只有属主可读,否则rsync将拒绝运行。我们可以设置它的属性为600:
chmod 600 /etc/wwwuser.pass
设置rsync服务在系统启动时自动启动运行,可以通过ntsysv来设置:
最后在服务器端我们需要启动rsync服务:service xinetd restart
至此,服务器端配置完毕。
二、配置客户端
为了在Windows环境使用rsync工具,我们需要去下载cwRsync工具,这是一个rsync for windows的版本。
下载安装完成之后的目录结构类似下图所示:
现在我们可以在Windows环境下运行rsync工具了,举例使用下面的命令连接服务器并开始备份目录和文件:
rsync -vzrtopg --progress --delete wwwuser@xx.xx.xx.xx::www .\bak
应该可以看到:
password:
比如说要备份C盘下的WINDOWS目录,步骤如下
说明:是将WINDOWS下的文件备份到LINUX下
#mkdir -p /baskupdir/windows
在windows下执行如下的命令:
C:\Program Files\cwRsync\bin>rsync.exe -vzrtopg --progress -e ssh ../../../WINDO
WS root@192.168.1.71:/root/192.168.1.76/windows
要求输入密码的提示,正确输入密码后就应该看到开始备份了。当然,也有可能出现类似下面的错误信息:
引起这种错误有几种可能性,一是你没有输入正确的用户名或密码,二是你的服务器端存储密码的文件没有正确的权限,也就是你的密码文件不是类似这样子的权限:-rw------- 1 root root
在备份完成之后,我们可以看到类似下图所示的状态:
用rsync从Linux到Windows远程备份的更多相关文章
- Linux与Windows远程互访(使用Rdesktop与SSH)
工作的时候经常使用Redhat系列系统,而平常娱乐文档都是在windows平台上进行.因此实现linux与windows远程互访也是很有必要的事情. 本文将介绍如何实现Linux与Windows的远程 ...
- linux实现自动远程备份(scp+ssh)
刚上线的服务器需要备份日志,要备份到另一台服务器上去,为了减少工作量,采用linux的定时任务去自动执行.因服务器都是linux的,因此采用linux的远程复制scp命令.但这里涉及到一个问题,就是s ...
- Linux和Windows远程桌面互连
1.Ubuntu 连 windows W.1 Windows设置允许远程桌面连接 U.1 Ubuntu设置 apt-get install rdesktop U.2 Ubuntu连接 ...
- 转:使用rsync在linux(服务端)与windows(客户端)之间同步
转自:http://blog.csdn.net/old_imp/article/details/8826396 一 在linux(我用的是centos系统)上安装rsync和xinetd前先查看lin ...
- linux和windows同步数据 cwrsync client to rsync server
linux和windows同步数据,rsync server cwrsync client linux server一般系统都自带rsync,如果没有就挂载系统盘自己安装一下,安装挺简单的不用我再多 ...
- ubuntu下配置rsync,实现远程备份
rysnc(remote synchronize)在CentOS系统默认安装在/usr/bin,此外rysnc在windows平台下也有相应版本.主页地址为: http://rsync.samba.o ...
- Linux基础学习-数据备份工具Rsync
数据备份工具rsync 作为一个系统管理员,数据备份是非常重要的,如果没有做好备份策略,磁盘损坏了,那么你的数据将全部丢失,所以在日常的维护工作中,一定要时刻牢记给数据做备份. rsync不仅可以可以 ...
- Linux下使用SSH、Crontab、Rsync三工具实现数据自动备份
Linux下使用SSH.Crontab.Rsync三工具实现数据自动备份 作为网管人员大概都无一例外的经历过系统备份,尤其是重要系统的备份.重要数据库系统的备份工作.由于备份是个频繁而琐碎的工作,如何 ...
- linux下的数据备份工具rsync讲解
linux下的数据备份工具 rsync(remote sync 远程同步) 名词解释: sync(Synchronize,即“同步”)为UNIX操作系统的标准系统调用,功能为将内核文件系统缓冲区的 ...
随机推荐
- ios文本常见属性
文本属性Attributes 1.NSKernAttributeName: @10 调整字距 kerning 字距调整 2.NSFontAttributeName : [UIFont systemFo ...
- c++常用IDE
vs2013. CodeLite (c/c++/PHP) codeBlocks Qt Creator Xcode
- leetcode 3Sum python
# sort the array# loop from i = 0 # then left=i+1 right=len(nums)-1# try nums[i] - ( nums[left]+nums ...
- JavaWeb核心编程之(三.6)HttpServlet
之前都是集成的Servlet真的太过于繁琐了, Servlet接口提供了一个实现类 为HttpServlet 只要实现doGet 和doPost方法就可以了 仍然以一个表单为例 新建一个web工程 ...
- 生成php所需要的APNS Service pem证书的步骤
1.登录到 iPhone Developer Connection Portal 并点击 App IDs 2.创建一个不使用通配符的 App ID .通配符 ID 不能用于推送通知服务.例如,我们的i ...
- struts2笔记06-ServletXxxAware接口
1.ServletXxxAware接口 ActionContext和XxxAware接口对应,属于解耦的设计,但功能单一,我们能够获取到的只是struts2给我们返回的map.ServletActio ...
- Scala写排序可以说是简洁又明了
例如归并排序,清晰明了. object MergeSort extends App { val oldList = List[Int](12, 40, 26, 89, 75, 44, 32, ...
- 第一个只出现一次的字符,josephus环,最大子数组和
#include<stdio.h> #include<stdlib.h> #include<string.h> #define MAXINT 0x7fffffff ...
- 数据库中字段类型对应C#中的数据类型
数据库中字段类型对应C#中的数据类型:数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char ...
- SiKuli 图形脚本语言【转载】
Sikuli 是一种新颖的图形脚本语言,或者说是一种另类的自动化测试技术.它与我们常用的自动化测试技术(工具)有很大的区别. 当你看到上图sikuli的脚本时,一定会惊呼,这样都可以~!脚本加截图~~ ...