热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

rsync两台服务器目录同步功能实现

实现目标:A服务器上/opt/web目录,与B服务器上/opt/web目录实现同步。即:B主动与A进行同步。OS:ReahtAS4AServer192.168.1.2/opt/webBServer192.168.1.3/opt/web一.AServerconfigyum-yinstallxinetd1.rsync系统自带,需要使用?deamon方式进

实现目标:

A 服务器上 /opt/web 目录,与B服务器上 /opt/web目录实现同步。即:B主动与A进行同步。

OS: Reaht AS4

A Server 192.168.1.2 /opt/web
B Server 192.168.1.3 /opt/web

一. A Server config
yum -y install xinetd

1.rsync 系统自带, 需要使用 ?deamon 方式进行启动,服务端口是 TCP 873

2. vi /etc/xinetd.d/rsync 修改 disable =yes 为 disable =no ,修改后的文件如下

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = ?daemon
log_on_failure += USERID
}

3. service xinetd restart,重启 xinted 服务

4. 编辑主要配置文件 /etc/rsyncd.conf

vi /etc/rsyncd.conf

uid = nobody
gid = nobody
use chroot = no
max cOnnections= 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log

[web]
path = /opt/web
ignore errors
read Only= true
list = false
hosts allow = 192.168.0.0 # 允许的IP地址
hosts deny = 0.0.0.0/32 # 禁止的IP 地址
auth users = backup # 认证用户名,此例是 backup
secrets file = /etc/backup.pass #认证用户的密码文件

5 编辑服务器的密码文件 /etc/backup.pass
vi /etc/backup.pass
backup:123456

6. chmod 400 /etc/backup.pass

二. B Server config

1. 编辑rsync连接时的密码文件 /etc/rsync_client.pass
vi /etc/rsync_client.pass
123456 # 只需要配置连接时使用的密码即可,必须与A服务器上定义的密码相同.

2. chmod 600 /etc/rsync_client.pass

3. 使用 rsync 命令连接服务器,实现文件同步
rsync -vzrtopg ?progress ?delete ?password-file=/etc/rsync_client.pass backup@192.168.1.2::web /opt/web

4. 使用 ?execlude= 排除不需要同步的文件后缀名
rsync -vzrtopg ?progress ?delete ?password-file=/etc/rsync_client.pass ?exclude=”*.tmp” backup@192.168.1.2::web /opt/web

5. 使用 ?execlude-from= 排除不需要同步的目录
[root@ASB opt]# rsync -vzrtopg ?progress ?delete ?password-file=/etc/rsync_client.pass ?exclude-from=/opt/pcdir backup@192.168.1.2::web /opt/web

/opt/pcdir 文件的内容如下
cat /opt/pcdir
temp/

参数说明
-vzrtopg里的
v是verbose,
z是压缩,
r是recursive,
topg都是保持文件原有属性如属主、时间的参数
—-progress
是指显示出详细的进度情况
?delete
是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
?exclude=”*.tmp”
不包含某些文件
?execlude-from= 排除不需要同步的目录
?password-file
指定CLIENT端密码文件存放路径
/opt/web/
指定CLIENT端存放镜象目的路径

选项说明

-v, ?verbose 详细模式输出
-q, ?quiet 精简输出模式
-c, ?checksum 打开校验开关,强制对文件传输进行校验
-a, ?archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, ?recursive 对子目录以递归模式处理
-R, ?relative 使用相对路径信息

rsync foo/bar/foo.c remote:/tmp/

则在/tmp目录下创建foo.c文件,而如果使用-R参数:

rsync -R foo/bar/foo.c remote:/tmp/

则会创建文件/tmp/foo/bar/foo.c,也就是会保持完全路径信息。

-b, ?backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用?suffix选项来指定不同的备份文件前缀。
?backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀
-u, ?update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-l, ?links 保留软链结
-L, ?copy-links 想对待常规文件一样处理软链结
?copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结
?safe-links 忽略指向SRC路径目录树以外的链结
-H, ?hard-links 保留硬链结
-p, ?perms 保持文件权限
-o, ?owner 保持文件属主信息
-g, ?group 保持文件属组信息
-D, ?devices 保持设备文件信息
-t, ?times 保持文件时间信息
-S, ?sparse 对稀疏文件进行特殊处理以节省DST的空间
-n, ?dry-run现实哪些文件将被传输
-W, ?whole-file 拷贝文件,不进行增量检测
-x, ?one-file-system 不要跨越文件系统边界
-B, ?block-size=SIZE 检验算法使用的块尺寸,默认是700字节
-e, ?rsh=COMMAND 指定替代rsh的shell程序
?rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息
-C, ?cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
?existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
?delete 删除那些DST中SRC没有的文件
?delete-excluded 同样删除接收端那些被该选项指定排除的文件
?delete-after 传输结束以后再删除
?ignore-errors 及时出现IO错误也进行删除
?max-delete=NUM 最多删除NUM个文件
?partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输
?force 强制删除目录,即使不为空
?numeric-ids 不将数字的用户和组ID匹配为用户名和组名
?timeout=TIME IP超时时间,单位为秒
-I, ?ignore-times 不跳过那些有同样的时间和长度的文件
?size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间
?modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0
-T ?temp-dir=DIR 在DIR中创建临时文件
?compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份
-P 等同于 ?partial
?progress 显示备份过程
-z, ?compress 对备份的文件在传输时进行压缩处理
?exclude=PATTERN 指定排除不需要传输的文件模式
?include=PATTERN 指定不排除而需要传输的文件模式
?exclude-from=FILE 排除FILE中指定模式的文件
?include-from=FILE 不排除FILE指定模式匹配的文件
?version 打印版本信息
?address 绑定到特定的地址
?cOnfig=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
?port=PORT 指定其他的rsync服务端口
?blocking-io 对远程shell使用阻塞IO
-stats 给出某些文件的传输状态
?progress 在传输时现实传输过程
?log-format=formAT 指定日志文件格式
?password-file=FILE 从FILE中得到密码
?bwlimit=KBPS 限制I/O带宽,KBytes per second
-h, ?help 显示帮助信息



推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
author-avatar
地平线1232502881827
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有