`

rsync使用指南

 
阅读更多

考虑到服务器数据的安全,我考虑增加一台备份服务器,通过数据同步,达到较好的冗余。
linux下有非常好的一个命令rsync可以实现差异备份,下面就说说它的用法:

ubuntu缺省安装的安装中,rsync服务是没有开启的。需要做3步:
1、修改/etc/default/rsync,让rsync服务在开机的时候启动。
$ sudo vi /etc/default/rsync
将RSYNC_ENABLE=false改为RSYNC_ENABLE=true

2、创建一个rsyncd.conf,缺省安装中是没有这个文件的。
$ sudo vi /etc/rsyncd.conf
输入以下几行:
uid=nobody
gid=nobody
max connections=3
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
secrets file=/etc/rsync.pwd

3、启动rsync服务。
$ /etc/init.d/rsync start

基本命令:

rsync -avz ./libserver1.0.1 cxf@202.117.15.144:/home/cxf/backup 目录上传

rsync -avz cxf@202.117.15.144:/home/cxf/libserver ./backup 目录下载

rsync -avz ./libserver1.0.1./* cxf@202.117.15.144:/home/cxf/backup 文件上传

rsync -avz cxf@202.117.15.144:/home/cxf/libserver/* ./backup 文件下载

一、通过rshssh命令

  在没有建立rsync服务器的情况下,我们可以利用rsync命令直接进行快速的差异备份:

CODE:
命令格式:
#rsync [option]
源路径目标路径
其中:
[option]

a:
使用archive模式,等于-rlptgoD,即保持原有的文件权限
z:
表示传输时压缩数据
v:
显示到屏幕中
e:
使用远程shell程序(可以使用rshssh
--delete:
精确保存副本,源主机删除的文件,目标主机也会同步删除
--include=PATTERN:
不排除符合PATTERN的文件或目录
--exclude=PATTERN:
排除所有符合PATTERN的文件或目录
--password-file:
指定用于rsync服务器的用户验证密码

源路径和目标路径可以使用如下格式:
rsync://[USER@]Host[:Port]/Path <--rsync
服务器路径
[USER@]Host::Path <--rsync
服务器的另一种表示形式
[USER@]Host:Path <--
远程路径
LocalPath <--
本地路径

需要注意的是,来源或目的路径最少要有一个是本地路径,如果忽略本地路径,则只会列出远端的文件列表。

例子:


CODE:
#rsync -ave ssh test:/home/ftp/pub/ /home/ftp/pub/

把源路径中远端test机器上的/home/ftp/pub/目录中的内容,通过rsync同步到本地的/home/ftp/pub/目录下。
小心源路径结尾时候的/号,后缀/通知rsync复制该目录的内容,但不复制目录本身。例如:


CODE:
#rsync -ave ssh test:/home/ftp/pub /home/ftp/

则会把pub目录整个同步到本地/home/ftp/路径中

CODE:
#rsync -azv --delete rsync://linuxing@192.168.1.100/blog /var/www/html/

  通过linuxing登陆到192.168.1.100中,同步rsync服务器的blog项到本地的/var/www/html/,并删除本地上源路径中不存在的文件或目录。

千万要注意--delete参数,在使用此参数的时候,建议用绝对路径指定本地目录,防止清空当前目录。

二、建立rsync服务器

  当服务器没有开通ssh,或备份方没有ssh权限的时候,我们可以通过建立rsync服务器,进行匿名的数据同步。
要使用rsync服务,需要建立服务端和客户端:

1、服务端
主配置文件:

CODE:
#vi /etc/rsyncd.conf
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[test] #rsync
区段的设定名称
path = /var/www/html/test #
需要同步的数据存放路径
comment = test folder #
注释
uid = apache #
采用什么身份进行文件读取
gid = apache #
同上,必须是有读取path权限的用户、组
ignore errors #
忽略错误
read only = yes #
只读
list = no #
不能列表
auth users = linuxing #
连接rsync服务的帐号
secrets file = /etc/rsyncd.secrets #
指定存放帐号密码的位置

帐号密码文件:

CODE:
#vi /etc/rsyncd.secrets
#
格式:帐号:密码(每行一组,帐号和密码用:号分开)
linuxing:backup

保存后,需要保证用户是root,权限是600

CODE:
#chown root:root /etc/rsyncd.secrets
#chmod 600 /etc/rsyncd.secrets

启动服务:
#rsync --daemon

保证开机自动启动:
修改/etc/xinetd.d/rsync文件,把其中的disable=yes改为disable=no


CODE:
#sed -i -e "/disable/{ s/yes/no/ }" /etc/xinetd.d/rsync
#service xinetd.d restart

2、客户端
使用用法一中涉及到rsync://的方法即可。
如果rsync服务器需要密码验证,可以增加--password-file参数:


CODE:
#rsync -azv --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test
#vi /etc/test
#
指定访问密码
bakcup
#chmod 600 /etc/test

3、定时
另外,由于rsync客户端没有定时功能,我们可以通过在crontab中增加计划任务实现定时的同步,如:(不要使用-v参数,防止刷屏)

CODE:
#crontab -e
0 22 * * 1-5 /usr/bin/rsync -az --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test
#
指定星期一到五,每晚十点整进行同步

三、总结

  使用rsync的优点:可通过ssh进行网络加密传输,也可以利用ssh客户端密钥建立信任关系。当在两台计算机之间保持大型、复杂目录结构的同步时候,比tarwget等方式都要快。而且可以做到精确同步。

四、附录

  如果是通过编译安装的rsync(如FreeBSD),路径有点不同:
  服务器的配置文件在:/usr/local/etc/rsyncd.conf
  启动文件:/usr/local/etc/rc.d/rsyncd.sh
  命令文件:/usr/local/bin/rsync
  系统启动托管:/etc/rc.conf(增加rsyncd_enable="YES"
分享到:
评论

相关推荐

    Rsync使用指南

    **Rsync使用指南** **Rsync简介** Rsync是一款强大的数据同步工具,广泛应用于服务器之间的文件同步和备份。它的核心特点在于能高效地对比和传输文件,只传输两份文件的不同部分,从而节省了大量的网络带宽。Rsync...

    rsync数据同步手册.pdf

    rsync数据同步手册 rsync是一种快速、可靠的文件同步工具,广泛应用于数据备份、同步和复制。下面是关于rsync数据同步...rsync数据同步手册提供了rsync的使用指南,可以帮助我们更好地使用rsync实现数据同步和备份。

    rsync_架设手册

    本文旨在提供rsync服务器架设的基础指南,帮助读者理解rsync的工作原理及基本操作流程,适用于初学者和有一定经验的系统管理员。 #### 10. 更新日志 - 2023-04-01: 初始版本发布。 - 2023-04-15: 添加防火墙配置...

    window Git完美使用rsync.assets.7z

    这个名为"window Git完美使用rsync.assets.7z"的压缩包可能包含了一套详细的指南,帮助用户在Windows上配置和利用这两个工具。下面我们将深入探讨Git和rsync在Windows中的应用以及它们如何协同工作。 **Git** 是一...

    图解rsync数据同步部署文档.docx

    rsync 数据同步部署指南 rsync 是一种快速、可靠的文件同步工具,广泛应用于数据同步、备份和镜像等领域。以下是 rsync 数据同步部署指南的摘要信息: 一、什么是 rsync? rsync 是一个免费的、功能强大、跨平台...

    Rsync详细讲解和说明

    《Rsync详解与指南》 Rsync是一款强大的文件同步工具,广泛用于系统备份、镜像制作和数据迁移。它的灵活性和高效性使得它在IT领域备受青睐。本文将深入解析Rsync的各项参数及其用法。 一、全局参数 1. `motd file...

    Rsync_dep-3.2.2.tar.gz

    《rsync 3.2.2源码安装与配置指南》 rsync是一款强大的文件同步工具,被广泛用于系统管理员进行远程数据备份和同步。在本文中,我们将深入探讨rsync 3.2.2的源码安装过程,以及如何配置Systemd服务,确保其在系统...

    利用rsync+crontab实现Linux的定时增量备份

    rsync.samba.org网站提供了详细的配置文件编写指南。 3. **启动服务**:根据所使用的Linux发行版,使用相应的命令启动和设置rsync守护进程,例如systemctl start rsyncd或/etc/init.d/rsync start。 4. **测试和...

    rsync3.0.9

    同时,`Readme-说明.htm`文件提供了关于软件的详细信息,包括安装指南、使用方法和常见问题解答,对于初学者来说非常有帮助。 在实际应用中,rsync的命令行参数非常丰富,例如`rsync -avz /source /destination`,...

    rsync和sersync的配置资料.pdf

    1. **启动rsync daemon**:在另一台主机上,以守护进程模式启动rsync,使用命令`# rsync --daemon --config=/etc/rsyncd.conf`。 2. **检查rsync状态**:通过`# lsof -i:873`确认rsync服务是否已在873端口上运行。 ...

    rsync云存储Google Drive S3 Dropbox Backblaze B2 One Drive Swif.zip

    在压缩包中的"说明.txt"可能是关于如何配置和使用rclone与这些云存储服务进行rsync操作的指南。"rclone_master.zip"则可能包含最新版的rclone软件,或者是一些额外的配置文件和脚本。 总的来说,这个压缩包提供了一...

    Red Hat Linux 7服务器使用指南

    备份和恢复策略是防止数据丢失的关键,包括使用`rsync` 进行增量备份和使用`tar` 创建归档文件。 总的来说,《Red Hat Linux 7服务器使用指南》将涵盖以上诸多方面,提供实践指导和案例分析,帮助读者熟练掌握在Red...

    RedHat Linux安装及使用指南

    7. **系统备份与恢复**:学会使用`rsync`、`tar`进行数据备份,以及如何在系统崩溃后恢复。 8. **性能优化**:通过调整内核参数、内存调优和I/O优化,提升系统性能。 通过以上介绍,你将能够成功安装Red Hat Linux...

    SUSE Linux 用户维护指南

    1. 数据备份:学习如何使用tar、rsync等工具进行数据备份,了解增量备份和全量备份的概念。 2. 系统备份与恢复:掌握使用Clonezilla或其它工具进行系统镜像备份,以及如何在系统故障时进行恢复操作。 六、安全策略 ...

    Linux管理员指南

    1. 数据备份:学习使用`tar`进行文件备份,了解网络备份工具如`rsync`。 2. 系统备份与恢复:理解`dd`命令用于系统镜像备份,以及如何使用备份文件恢复系统。 七、故障排除与调试 1. 查看系统日志:通过`dmesg`、...

    【linux实战】sersync实时同步软件实战应用指南

    本指南将详细介绍sersync的项目简介、框架设计、安装配置方法以及如何应用这一实用工具。 首先,sersync项目简介与框架设计部分涉及到sersync的背景知识和整体架构。sersync使用Linux 2.6内核中引入的inotify机制,...

    图书:CentOS权威指南

    9. **系统备份与恢复**:介绍备份策略,如何使用tar、rsync等工具进行数据备份,以及在系统故障时如何快速恢复。 10. **虚拟化技术**:涵盖KVM虚拟化平台的使用,如何创建和管理虚拟机,实现资源的最大化利用。 11...

Global site tag (gtag.js) - Google Analytics