当前位置: 首页 > news >正文

计算机网站建设维护的基本知识常州建设局下属网站

计算机网站建设维护的基本知识,常州建设局下属网站,word期刊排版模板,nodejs和wordpress文章目录 1. rsync概述1.1 什么是Rsync1.2 rsync的功能1.3 rsync 的功能特性1.4 Rsync 增量复制原理1.5 生产场景架构集群备份方案 2. Rsync工作方式介绍与实践2.1 本地数据传输模式2.1.1 本地数据传输模式语法2.1.2 本地数据传输模式实践 2.2 远程Shell 数据传输模式2.2.1 远程… 文章目录 1. rsync概述1.1 什么是Rsync1.2 rsync的功能1.3 rsync 的功能特性1.4 Rsync 增量复制原理1.5 生产场景架构集群备份方案 2. Rsync工作方式介绍与实践2.1 本地数据传输模式2.1.1 本地数据传输模式语法2.1.2 本地数据传输模式实践 2.2 远程Shell 数据传输模式2.2.1 远程Shell数据传输模式语法2.2.2 远程Shell 数据传输模式实践 2.3 守护进程传输模式重要2.3.1 守护进程传输模式语法2.3.2 守护进程传输模式实践重要1准备环境2Rsync服务端部署3Rsync客户端部署4测试数据备份的效果 2.4 Rsync功能应用拓展2.4.1 多模块使用2.4.2 排除指定目录和文件数据复制2.4.3 无差异数据同步2.4.4 断点续传和限速 3. Rsync排错3.1 Rsync服务器端排错思路3.2 Rsync客户端排错思路 1. rsync概述 1.1 什么是Rsync RsyncRemote synchronization是一款开源的快速的、可实现全量及增量的本地或远程数据备份的多功能优秀工具。在复制时可以不改变原有数据的属性信息即实现数据的备份迁移特性适用于Unix/Linux/Windows等多种操作系统平台。 Rsync提供了大量参数来控制复制行为允许多种灵活的方式来实现文件的传输复制。通过减少网络数据发送数量只发送源文件和目标文件之间的差异信息从而实现数据的增量复制。 Rsync被广泛应用于数据备份和镜像并作为一种改进后的复制命令用于日常系统中。 监听端口873 官方链接http://www.samba.org/ftp/rsync/rsync.html 官方手册man rsync / man rsync.conf 1.2 rsync的功能 ​ Rsync具有可使本地和远程两台主机之间的数据快速复制、远程备份的功能。 远程复制传输数据Rsync软件自带的rsync命令本身就可以实现异地主机复制数据这个功能类似scp命令(借助SSH服务实现远程传输数据)但又优于scp命令的功能scp每次都是全量拷贝而rsync可以增量拷贝(同样需借助SSH服务传输数据)。此外Rsync软件还支持以配置守护进程方式实现异机数据复制。Rsync还可以在本地主机的不同分区或目录之间全量及增量复制数据这又类似cp命令但同样也优于cp命令cp每次都是全量拷贝而Rsync还可以增量拷贝。rsync命令还可以作为删除和查看命令被应用在某种情况下类似于传统的rm和ls命令。 总体来看rsync命令可以实现的功能如下: 实现本地数据同步复制本地工作模式 相当于cp命令实现远程数据同步复制远程shell工作模式相当于scp命令实现数据信息删除功能本地工作模式相当于rm命令实现数据信息查看功能本地或远程工作模式相当于ls命令 rsync在数据同步复制方面类似cp和scp而且优于cp和scp。因为cp与scp仅仅支持全量拷贝而rsync还支持增量拷贝。 1.3 rsync 的功能特性 支持复制拷贝普通文件与特殊文件如链接文件设备文件等。支持排除指定文件或目录同步的功能相当于打包命令tar的排除功能。可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变。可实现增量复制既只复制发生变化的数据因此数据传输效率很高。可以通过socket进程方式传输文件和数据服务端和客户端。支持匿名或认证无需系统用户进程模式传输安全的进行数据备份及镜像 1.4 Rsync 增量复制原理 默认情况下在备份复制数据时Rsync通过其独特的quick check算法仅复制大小或者最后修改时间发生变化的文件或目录当然也可根据权限、属主等属性的变化复制但需要指定相应的参数甚至可以实现只复制一个文件里有变化的部分内容所以可以实现快速地备份复制数据即采用增量复制方法对数据信息进行复制与传统cp、scp复制工具的全量复制截然不同增量复制数据在效率上远远高于全量复制。 在CentOS 5系统上Rsync软件版本默认为2.x同步增量复制数据原理是把所有的文件比对一遍然后再进行数据同步。在CentOS 6和CentOS 7系统上Rysnc软件版本默认为3.x增量复制数据的原理是一边比对差异一边对差异的数据部分进行复制。从增量复制数据的效率上而言Rsync 3.x版本比Rsync 2.x更有优势一些。 可以利用rsync命令参数查看当前系统中Rsync软件版本信息。 # 查看rsync版本命令 [rootbackup ~]# rsync --version1.5 生产场景架构集群备份方案 借助cron rsync把所有客户服务器数据同步到备份服务器。针对公司重要数据备份混乱状况向上提出备份全网数据的解决方案。通过本地打包备份然后rsync结合inotify应用把全网数统一备份到一个固定存储服务器然后在存储服务器上通过脚本检查并报警管理员备份结果。定期将IDC机房的数据备份公司的内部服务器防止机房地震及火灾问题导致数据丢失。实时同步解决存储服务器等的单点问题。 2. Rsync工作方式介绍与实践 Rsync有3种传输数据模式具体介绍如下。 本地(Local)数据传输模式 Rsync的本地数据传输模式很类似于cp本地复制命令可以实现文件、目录的移动备份等功能所不同的是Rsync有增量复制的功能。 远程Shell数据传输模式 远程Shell数据传输模式一般是借助通道(如SSH)在两台服务器之间进行复制数据这两台服务器之间是对等的没有客户端与服务端之分整个过程类似于scp远程复制命令所不同的是Rsync有增量复制的功能但缺少scp 的加密复制的功能。 守护进程(Daemon)传输模式 守护进程传输模式是在客户端与服务端之间进行数据复制的通常需要服务端部署守护进程服务然后在客户端执行命令实现数据的拉取和推送复制。 以上几种 Rsync的工作方式可以通过man rsync帮助或者查看官方手册获得。下面分别对上面3种模式进行详细说明帮助初学者掌握Rsync软件工具的应用。 Rsync常用命令参数列表 命令参数参数说明-v–verbose详细模式输出传输时的进度等信息-z–compress传输时进行压缩以提高传输效率–compress-levelNUM可按级别压缩。局域网可以不用压缩-a–archive归档模式表示以递归方式传输文件并保持所有文件属,等于-rtopgDl-r --recursive归类于-a参数对子目录以递归模式传输即目录下的所有目录都同样传输-t–times归类于-a参数保持文件时间信息-o–owner归类于-a参数保持文件属主信息-p–perms归类于-a参数保持文件权限-g–group归类于-a参数保持文件属组信息-P–progress显示同步的过程及传输时的进度等信息-D–devices归类于-a参数保持设备文件信息-l–links归类于-a参数保留软链接(小写字母l)-e–rshCOMMAND使用的信道协议指定替代rsh的Shell程序。例如ssh-L保留软连接指向的目标文件–excludePATTERN指定排除不需要传输的文件信息和 tar参数一样)–exclude-fromfile文件名所在的目录文件即可以实现排除多个文件(和 tar参数一样)–bwlimitRATE限速功能单位是KB/S防止在做数据同步时带宽占满导致用户无法访问网站–partial断点续传–password-filexxx使用密码文件–delete让目标目录SRC和源目录数据DST一致即无差异同步数据 Rync的数据同步模式: 推: 所有主机推送本地数据至Rsync备份服务器会导致数据同步缓慢(适合少量数据备份)拉: rsync备份服务端拉取所有主机上的数据会导致备份服务器开销大**大量服务器备份场景**分支备份服务器和客户端之间使用客户端推送数据到分支备份的方式上传模式主备份服务器和分支服务器之间使用主备拉取分备的数据的方式下载模式。异地备份实现思路 2.1 本地数据传输模式 2.1.1 本地数据传输模式语法 # rsync [OPTION...] SRC... [DEST] # rsync命令 参数选项 [源目录或文件] 目的目录或文件 rsync -avz 复制的内容 复制到哪里去2.1.2 本地数据传输模式实践 作为本地复制命令应用(类似cp命令) # 实例一:利用rsync命令实现本地文件的复制命令如下。[rootbackup-]# cd /tmp/ [rootbackup tmp]# 1s [rootbackup tmp]# rsync /etc/hosts /tmp/ #实现hosts文件本地复制。 [rootbackup tmp]# 1s hosts # 说明:根据以上操作信息,实现了本地拷贝文件操作。# 实例二:利用rsync命令实现复制本地目录命令如下。 [rootbackup tmp]# mkdir /ceshi_dir -P #创建测试目录。 [rootbackup tmp]# touch /ceshi_dir/file{1..5}.txt #在测试目录中,创建5个测试文件。 [rootbackup tmp]#ls /ceshi_dir/ file1.txt file2.txt file3.txt file4.txt file5.txt [rootbackup tmp]# rsync /ceshi_dir / tmp/ #直接复制目录会显示报错信息。 skipping directory ceshi_dir [rootbackup tmp]# rsync -r /ceshi_dir /tmp/ #复制目录需要加入-r 参数。 [rootbackup tmp]#1s hosts ceshi_dir #本地目录复制成功。 [rootbackup tmp] # ls ceshi_dir/ filel.txt file2.txt file3.txt file4.txt file5.txt #测试目录中数据也复制成功。#说明:根据以上操作信息,实现了本地拷贝目录操作。作为删除数据命令应用类似rm命令) # 实例一:利用rsync命令的删除功能清空文件夹内容,命令如下。 [rootbackup tmp]# mkdir /opt /null -p #创建一个空目录。 [rootbackup tmp]# rsync -r --delete /opt/null/ /tmp/ #清除/tmp 下所有内容。 [rootbackup tmp]# ls #已删除。# 说明:利用上面所学的本地复制命令结合删除功能参数--delete对tmp目录进行清除。 # 提示:在使用--delete删除功能参数时,必须结合-r或-d参数使用。# 实例二:利用rsync命令的删除功能清空文件内容命令如下。 [rootbackup tmp]# echo www.baidu .com file1.txt #生成测试文件。 [rootbackup tmp]# cat file1 .txt www.baidu.com [rootbackup tmp]# touch null.txt #创建空文件null.txt,利用空文件实现对相应file1.txt 文件内容的清除 [rootbackup tmp]# rsync -r --delete /tmp/null.txt file1.txt #利用rsync命令删除功能实现对文件数据信息清除。 [rootbackup tmp] #cat file1.txt #数据信息已清除提示在使用rsync命令对目录数据进行本地或远程复制时目录名称后面是否加“/”产生的复制效果是不一样的。 目录后面不加“/”会将/ceshi_dir目录及目录下面的文件内容一并复制到 tmp目录中;目录后面加“/”会将/ceshi_dir目录下面的文件内容复制到 tmp目录中但ceshi_dir目录本身没有被复制。 作为查询数据命令应用(类似ls命令) # 实例:利用rsync命令的查询功能查看文件和目录信息 [rootbackup tmp]# rsync /etc/hosts #查询文件信息。 -rw-r--r-- 332 2019/04/10 22:07:43 hosts [rootbackup tmp]# rsync /etc drwxr-xr-x 8,192 2019/04/11 20:42:54 etc #查询目录信息。2.2 远程Shell 数据传输模式 2.2.1 远程Shell数据传输模式语法 ​远程Shell数据传输模式分为拉取和推送两种模式。 拉取是指从远端服务器把数据拉取到本地服务器推送是指把数据从本地服务器推送到远端服务器这两种传输方式的语法格式如下。 ## 拉取pull 从远端拉取到本地 rsync [OPTION...] [USER]HOST:SRC... [DEST] 命令 参数 [认证用户][主机地址]:[源路径] 本地路径 rsync -avz root10.0.0.41:/etc/passwd /opt/ # 下载模式 pull## 推送push 从本地推到远端 rsync [OPTION...] SRC... [USER]HOST:[DEST] 命令 参数 本地路径 [认证用户][主机地址]:[目标路径] rsync -avz 1.txt root10.0.0.41:/root/ # 上传模式 push根据以上语法格式信息画图对推拉概念进行说明 2.2.2 远程Shell 数据传输模式实践 利用拉取模式从远端服务器把/etc/hosts复制到本地/tmp。具体实现过程如下: [rootnfs01 ~]# rsync -av -e ssh -p 22 root172.16.1.41:/etc/hosts /tmp # 借助-e参数指定数据传输方式为ssh隧道加密传输/tmp目录为当前命令行的本地目录。 # 如果ssh端口是默认的22命令中的-e ssh -p 22’部分可以省略。 Are you sure you want to continue connecting (yes/no) ? yes # 首次需输入yes. Warning: Permanently added 172.16.1.41 (ECDSA) to the list of known hosts.root172.16.1.41s password: # 输入41服务器的root密码。 receiving incremental file list hosts sent 43 bytes received 243 bytes 44.00 bytes/sec total size is 158speedup is 0.55说明利用nfs01作为参照服务器将远程服务器172.16.1.41上的数据进行拉取同步。 利用推送模式从本地服务器把/etc/hosts复制到远端主机的/tmp。具体实现过程如下: [rootnfs01 ~]# rsync -av /etc/hosts root172.16.1.41:/tmp # 省略-e参数/tmp目录为远程服务器的目录/etc/hosts为本地文件。 root172.16.1.41s password: # 输入nfs01服务器的root密码。 sending incremental file list hosts sent 243 bytes received 35 bytes 61.78 bytes/sec total size is 158 speedup is 0.57说明利用服务器nfs01作为参照服务器将本地服务器nfs01上的数据向远程服务器172.16.1.41进行推送同步。 问题 采用远程Shell数据传输模式每次都需要输入远程主机密码信息无法实现免交互因此需要配合SSH key免密码登录来完成数据免交互同步。该复制使用系统用户进行存在安全隐患而使用普通用户进行又会导致权限不足。实际工作中守护进程传输方式是更重要的方式。 2.3 守护进程传输模式重要 2.3.1 守护进程传输模式语法 ​守护进程传输模式是在客户端与服务端之间进行数据复制的通常需要服务端部署守护进程服务然后在客户端执行命令实现数据的拉取和推送复制即把数据推送到服务器端或者从服务器端把数据拉取到本地客户端这两种传输方式的客户端命令又有不同的语法格式具体说明如下。 ## 拉取模式的两种语法格式说明 # 方式一推荐 rsync [OPTION...] [USER]HOST::SRC... [DEST] rsync -avz 匿名活用户服务端IP::模块名称/file .命令 参数 [认证用户][主机地址]::[远端模块名] 目的路径 # 方式二 rsync [OPTION...] rsync://[USER]HOST[:PORT]/SRC [DEST] 命令 参数 rsync://[认证用户][主机地址][端口]/[远端模块名] 目的路径 ## 推送模式的两种语法格式说明 # 方式一推荐 rsync [OPTION...] SRC... [USER]HOST::[DEST] rsync -avz file 匿名活用户服务端IP::模块名称命令 参数 源路径 [认证用户][主机地址]::[远端模块名] # 方法二: rsync [OPTION...] SRC... rsync://[USER]HOST[:PORT]/[DEST] 命令 参数 源路径 rsync://[认证用户][主机地址][端口]/[远端模块名] ​通过对守护进程传输语法的介绍可以看出其应用方法与远程Shell传输模式类似但是如果想采用守护进程传输模式进行实际复制传输数据还必须要额外部署 RsyncDaemon 服务 才行下面会对守护进程传输模式的部署过程进行说明。 2.3.2 守护进程传输模式实践重要 1准备环境 第一步部署环境准备 查看系统相关信息 [rootbackup ~]# cat /etc/redhat-release # 操作系统信息 CentOS Linux release 7.8.2003 (Core) [rootbackup ~]# uname -r # 查看内核信息 3.10.0-1127.el7.x86_64 [rootbackup ~]# uname -m # 查看系统是什么系统 x86_64 [rootbackup ~]# rpm -qa rsync # rsync 软件信息 rsync-3.1.2-10.el7.x86_64 # 如果没有安装的话 [rootbackup ~]# yum install rsyncRsync守护进程模式网络拓扑地址规划表 主机名网卡eth0网卡eth1用途nfs0110.0.0.31/24172.16.1.31/24nfs存储服务器客户端backup10.0.0.41/24172.16.1.41/24rsync备份服务器服务端 第二步具体需求 ​ 要求在Rsync备份服务器BACKUP上以rsync守护进程的方式部署Rsync服务使得所有Rsync节点客户端主机可以把本地数据通过rsync命令的方式备份数据到数据备份服务器Rsync服务器上。 第三步:备份数据架构拓扑 ​ 参照下图进行 Rsync守护进程模式 服务器架构部署搭建并且以远程数据同步方式由客户端节点向服务端推送数据。 2Rsync服务端部署 Rsync 守护进程操作步骤说明 操作步骤Rsync服务端搭建步骤第一步确认是否有 Rsync程序 是否存在rpm -qa rsync第二步创建 Rsync 配置文件并对配置文件内容信息进行编辑第三步创建负责管理 Rsync 服务的虚拟用户第四步创建 Rsync 服务备份数据的目录并进行相应的授权可以让虚拟用户管理第五步配置 Rsync 服务安全相关密钥文件并且授权密钥文件为 600 权限第六步启动 Rsync 服务使之可以提供服务第七步设置 Rsync 服务开机自动运行 配置 rsyncd.conf配置文件 提示Rsync守护进程模式服务需要部署在BACKUP服务器上 先备份配置文件这个配置文件CentOS 7自带但是CentOS 6需要进行创建编辑。 cat/etc/rsyncd.confEOF #rsync_config_______________start uid rsync gid rsync port 873 use chroot no fake super yes max connections 200 timeout 600 pid file /var/run/rsyncd.pid lock file /var/run/rsync.lock log file /var/log/rsyncd.log ignore errors read only false list false hosts allow 172.16.1.0/24 # hosts deny 0.0.0.0/32 auth users rsync_backup secrets file /etc/rsync.password [backup] comment welcome to backup! path /backup/ EOF配置文件参数说明 rsyncd.conf 的参数参数说明uid rsyncRsync服务用户默认为nobody用 Rsync虚拟用户管理备份目录可自定义gid rsyncRsync服务用户组默认为nobody用管理备份目录可自定义port 873服务监听端口use chroot no限制推送的数据到某个目录不允许跳出该目录。如果为true会在给客户端传输文件前“chroot to the path”选择确认备份路径。这是Rsync安全的一个配置因为我们大多数都是在内网使用Rsync所以不配也可以。fake super yes允许进程不以root身份运行就可以改变文件属性CentOS7环境新增此参数max connections 200设置最大连接数默认为0意为无限制负值意为关闭这个模块。timeout 600超时时间。默认为0意为no timeout建议为300600 510分钟pid file /var/run/rsyncd.pidRsync Daemon启动后将其进程PID 写入此文件。如果这个文件已经存在Rsync进程不会覆盖该文件,而是会终止lock file /var/run/rsync.lock指定lock文件用来支持“ max connections”参数使得总连接数不会超过限制。默认为/var/run/rsyncd.locklog file /var/log/rsyncd.log不设或者设置错误Rsync会使用syslog输出相关日志信息ignore errors忽略I/O错误信息read only false对备份数据可读写list false不允许客户端可以查看可用模块列表。默认为可以。如果配置为yes或true执行 rsync 172.16.1.41::命令都会显示配置的模块信息hosts allow 172.16.1.0/24指定可以联系的客户端主机名或和IP地址或地址段默认情况下没有此参数即都可以连接。表示配置白名单参数hosts deny 0.0.0.0/32指定不可以联系的客户端主机名或和IP地址或地址段默认情况下没有此参数,即都可以连接。表示配置黑名单参数auth users rsync_backup远程虚拟连接用户。指定以空格或逗号分隔的用户可以使用哪些模块用户不需要在本地系统中存在。默认所有用户无密码访问anonymous rsync可自定义secrets file /etc/rsync.password指定用户名和密码存放的文件可自定义格式为用户名:密码。权限必须是600[backup]这里就是模块名称用于远程访问使用模块名访问。需用中括号括起来名称没有特殊要求但最好是有意义的名称便于以后维护可自定义comment welcome to backup!模块注释信息path /backup在这个模块中Daemon使用的文件系统或目录目录的权限要注意和配置文件中的权限保持一致否则会遇到读写问题。可自定义 hosts allow 和 hosts deny 不要同时存在否则可能导致功能不生效。即黑白名单只需要配置一个参数即可。模块外的参数模块名之前的参数是配置的全局参数所有的都适用模块名下的参数配置只有该模块适用。配置文件中行后不要有注释和空格 配置用于数据备份的目录 存放数据备份的目录位置对应模块中的 path /backup该目录是自定义目录需要进行手动创建。 [rootbackup ~]# useradd rsync -s /sbin/nologin -M # 创建管理备份目录的用户 [rootbackup ~]# mkdir -p /backup # 创建备份目录 [rootbackup ~]# chown -R rsync.rsync /backup # 对创建的目录进行用户和用户组的授权配置用于Rsync复制的账号、密码及账号文件权限 在Rsync服务端创建用于在Rsync客户端与服务端进行验证的账号和密码并将其写入文件。 创建服务认证账号和密码文件的命令如下 [rootebackup ~]# echo rsync_backup:123456/etc/rsync.password #将账号和密码写入文件。 [rootbackup ~]# chmod 600 /etc/rsync.password #文件必须为600权限。# 说明其中rsync_backup:ceshi中的rsync_backup为同步传输用到的虚拟账号这个账号仅为Rsync服务的认证账号不需要是系统账号也不需要创建该账号。后面的123456为密码,不超过8位。账号和密码中间用冒号分隔。检查认证文件信息的命令如下 [rootbackup ~]# cat /etc/rsync.password #操作完检查是个好习惯。 rsync_backup:123456 #注意账号密码格式。 [rootbackup ~]# ll /etc/rsync.password -rw------- 1 root root 40 2月 8 23:12 /etc/rsync.password #600权限。启动Rsync服务以及检查确认 Rsync服务启动、开机自启动及检查等操作过程的命令如下 # rsync --daemonc6及以前 # C7 systemctl start rsyncd # 启动服务 systemctl enable rsyncd # 开机自启动 systemctl status rsyncd # 服务状态[rootbackup ~]# ps -ef|grep sync|grep -v grep # 检查进程 root 7521 1 0 11:39 ? 00:00:00 /usr/bin/rsync --daemon --no-detach[rootbackup ~]# netstat -lntup|grep 873 # 检查端口是否处于监听状态 tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 7521/rsync tcp6 0 0 :::873 :::* LISTEN 7521/rsync [rootbackup ~]# lsof -i :873 # 检查端口 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rsync 7521 root 3u IPv4 41439 0t0 TCP *:rsync (LISTEN) rsync 7521 root 5u IPv6 41440 0t0 TCP *:rsync (LISTEN)3Rsync客户端部署 Rsync 客户端操作过程如下 确认是rsync命令是否存在。创建与Rsync服务端建立连接所需的密码文件并进行授权权限为600。 客户端的配置方法可以参考下面两种。 方法一配置密码文件方式常用 # 方法1认证密码文件 [rootnfs01 ~]# echo 123456 /etc/rsync.password # 此处的密码必须与服务端相同。而且客户端密码认证文件里仅配置了密码不需要账号了。这是与服务端的区别。[rootnfs01 ~]# chmod 600 /etc/rsync.password # 必须为600权限 [rootnfs01 ~]# cat /etc/rsync.password 123456 [rootnfs01 ~]# ls -l /etc/rsync.password -rw------- 1 root root 7 4月 15 11:55 /etc/rsync.password方法二配置内置变量RSYNC_PASSWORD脚本中使用 # 方法2 [rootnfs01 ~]# echo export RSYNC_PASSWORD123456 /etc/bashrc # 配置变量生效 [rootnfs01 ~]# tail -1 /etc/bashrc export RSYNC_PASSWORD123456 [rootnfs01 ~]# . /etc/bashrc [rootnfs01 ~]# echo $RSYNC_PASSWORD 1234564测试数据备份的效果 客户端推送到服务器 rsync -avz /etc/hosts rsync_backup172.16.1.41::backup --password-file/etc/rsync.password服务端拉取客户端 rsync -avz rsync_backup172.16.1.41::backup/etc/hosts . --password-file/etc/rsync.password将服务器上的11.txt下载到当前目录 rsync -avz rsync_backup172.16.1.41::backup/ceshi/11.txt .在模块后面也可以加路径进行备份 rsync -avz /etc/hosts rsync_backup10.0.0.41::backup/test/2.4 Rsync功能应用拓展 2.4.1 多模块使用 之前的配置里配置文件里只是配置了【backup】模块那么是不是可以再配置另一个模块换一个指定的文件备份路径。也就是说在服务端配置文件里配置多个模块来进行不同目录的文件备份。 首先需要在配置文件中添加模块配置信息 uid rsync gid rsync port 873 use chroot no fake super yes max connections 200 timeout 600 pid file /var/run/rsyncd.pid lock file /var/run/rsync.lock log file /var/log/rsyncd.log ignore errors read only false list false hosts allow 172.16.1.0/24 # hosts deny 0.0.0.0/32 auth users rsync_backup secrets file /etc/rsync.password [backup] comment welcome to backup! path /backup/ [data] #新模块。 path /data/ #新备份目录。 # 除了增加以上两行命令外也可以设定更多的独立配置参数如独立虚拟用户、独立密码文件等。创建对应目录并进行授权 [rootbackup ~]# mkdir -p /data # 创建备份目录 [rootbackup ~]# chown -R rsync.rsyne /data # 对创建的目录进行用户和用户组的授权重启rsync同步服务 [rootbackup ~]# systemctl restart rsyncd客户端测试访问 2.4.2 排除指定目录和文件数据复制 方法1利用参数进行排除 --excludePATTERN指定排除不需要传输的文件信息和 tar参数一样) --exclude-fromfile文件名所在的目录文件即可以实现排除多个文件(和 tar参数一样) # 排除单个文件的命令如下: rsync -avz --excludea /backup/ rsync_backup10.0.0.41::backup --password-file/etc/rsync.password# 排除多个文件的命令如下: rsync -avz --exclude{a,b} /backup/ rsync_backup10.0.0.41::backup --password-file/etc/rsync.password rsync -avz --exclude{a..g} /backup/ rsync_backup10.0.0.41::backup --password-file/etc/rsync.password # 从文件中排除文件的命令如下: rsync -avz --exclude-frompaichu.txt /backup/ rsync_backup10.0.0.41::backup --password-file/etc/rsync.password方法2服务器端配置rsyncd.conf参数实现不推荐 在/etc/rsyncd.conf里加排除参数及要排除的文件但是不推荐在服务器端进行配置不灵活。 excludea c b/2 # 表示排除a,c及b目录的2文件。文件和目录之间用空格隔开所有目录及文件为相对于模块的目录。2.4.3 无差异数据同步 所谓无差异同步就是不管是拉取还是推送都要保持两边的数据完全一致。 # 以当前的backup为准将数据无差异同步给41/root下 rsync -avz --delete backup root10.0.0.41:/root/# 以远端41为准将数据同步给本地的backup目录 rsync -avz --delete root10.0.0.41:/root/backup/ backup注意无论是拉取还是推送都是以前面的为准。而且该命令同样非常危险使用不当会造成远程服务器端目录及文件丢失。因此要特别注意小心使用。 生产场景应用 1. Rsync推送企业工作场景数据备份、上传。 本地有什么远端就有什么本地没有的远端有也要删除这会造成服务器端的目录数据丢失备份和上传场景下一般不需要–delete功能除非是像NFS实时复制数据到备份服务器上必须要保持两边一致的情形。 2. Rsync拉取企业工作场景代码发布、下载。 远端有什么本地客户端)就有什么远端没有的本地有也要删除。这会造成本地目录数据丢失。适用于无差异复制的两台服务器之间要求数据必须一致且实时性又不是很高的情况如两台负载均衡下面Web服务器之间的同步或者高可用双机配置之间的同步、NFS 共享数据的实时复制等。Rsync无差异同步非常危险而且有很多的替代方案因此生产场景没有特殊的需求应避免使用。 2.4.4 断点续传和限速 默认情况下利用rsync命令进行大文件数据传输时不加上断点传输参数在传输中断后会发现部分传输的数据信息会被删除。加上断点传输参数在传输中断后会发现部分传输的数据信息依旧存在。 Rsync大文件断点续传相关参数 命令参数参数说明–partial默认情况下Rsync如果传输被中断将删除所有部分传输的文件。在某些情况下,保留部分已经传输的文件是用户所希望的。使用–partial参数告知Rsync保留部分传输过的文件可以使该文件剩余部分的传输更快速–partial-dirDIR保留部分传输文件时比–partial参数更好的方法是指定一个目录来保存部分数据(而不是将其写入目标文件)。在下一个传输过程中Rsync将使用这个目录中的文件作为数据以加快恢复传输的速度并在它达到目的后将其删除 # 保留已经传输的文件 rsync -avz --partial /backup/ rsync_backup10.0.0.41::backup# 指定一个目录来保存部分数据 rsync -avz --partial-dir/tmp/ /backup/ rsync_backup10.0.0.41::backuprsync命令限速传输 # 限速: --bwlimit [rootbackup ~]# rsync -avzP --bwlimit2 /tmp/1g 10.0.0.7:/root/ root10.0.0.7s password: sending incremental file list 1g139,493,376 2% 2.01MB/s 0:51:09 3. Rsync排错 rsync命令行输出日志文件为/var/log/rsyncd.log 3.1 Rsync服务器端排错思路 查看Rsync服务配置文件路径是否正确正确的默认路径为/etc/rsyncd.conf。查看配置文件里host allow、host deny允许的IP网段是否是允许客户端访问的IP网段。查看配置文件中path参数里的路径是否存在、权限是否正确正常应为配置文件中的UID参数对应的属主和组。查看Rsync服务是否启动(查看命令为 ps -ef/grep rsync)、端口是否存在(查看命令为netstat -Int/grep 873)。查看Iptables防火墙和SELinux是否开启允许 Rsync服务通过也可考虑将其关闭。查看服务器端Rsync配置的密码文件是否为600的权限、密码文件格式是否正确(正确格式:用户名:密码)文件路径和配置文件里的 secrect files参数对应。如果是推送数据要查看配置文件 rsyncd.conf中用户是否对模块下目录有可读写的权限。 3.2 Rsync客户端排错思路 查看客户端Rsync配置的密码文件是否为600的权限、密码文件格式是否正确。用telnet连接Rsync服务器IP地址873端口查看服务是否启动。客户端执行命令时语法格式书写不正确此命令的细节要记清楚。
http://www.hkea.cn/news/14393008/

相关文章:

  • 南昌网站建设公司渠道公司注册的流程与步骤
  • 电商网站设计系统域名注册信息怎么查
  • 门户网站建设计入什么科目黑帽seo技术论坛
  • 哪个公司的网络比较稳定成都优化外包
  • 互联网网站定位网站建设竣工验收报告
  • wordpress建站视频教程下载整合营销传播最基础的形式是
  • 站长之家域名查询官网军事网站 模板
  • 怎么看一个网站用什么平台做的网站建设词语
  • 上海如何做网站用dw制作网站模板下载地址
  • 旅游网站的规划与建设开题报告哪里找做网站的公司
  • 做seo用什么网站系统找施工队伍去什么网站
  • 网站百度收录变少网站推广经理招聘
  • 青岛高端网站开发sem外包
  • 如何做行业网站价格低是什么意思
  • 网站建设项目实训报告站长工具查询ip地址
  • 网站 域名 云服务器网站建设属于什么经营范围
  • 给企业做网站的平台哪家开发app公司好
  • 科技尽头seo sem是做什么的
  • 提供网站哪家好广告设计培训课程
  • 网站后台编辑框不显示门户网站如何帮企业做宣传
  • 站长统计app进入网址柳市做网站的公司
  • cms建站系统安装整站seo优化哪家好
  • 浩博建设集团网站flash 的网站
  • 优秀企业网站建设价格考互联网营销师证书要多少钱
  • 网站 推广商系统 设计南阳网站建站公司
  • 跨境电商网站搭建建一个网站一般要多少钱
  • 汕头网站建设托管ss和wordpress
  • 怎么做提高网站排名大型的平台类网站建设需要多少资金
  • 营销型网站制作公司wordpress建的网站如何跟微信集成
  • 长春网站营销wordpress国内访问不了