学习rsync

news2024/11/26 15:39:16

文章目录

  • 一、rsync介绍
  • 二、rsync的特点
  • 三、本地文件同步
  • 四、远程文件同步
  • 五、免密文件同步和更改端口后的文件同步
  • 六、rsync作为系统服务
  • 七、应用举例
  • 七、给rsync服务添加密码
  • 八、rsync搭配inotify进行实时同步
  • 九、xinetd托管rsyncd服务

一、rsync介绍

1.sync同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级块。
2.async异步:将数据先放到缓冲区,再周期性的去同步到磁盘。
3.rsync远程同步。

二、rsync的特点

1.可以镜像保存整个目录树和文件系统。
2.可以保留原有的权限(permission,mode)、owner、group、时间(修改时间,modify time)、软硬链接、文件acl、文件属性(attributes)信息等。
3.传输效率高,使用同步算法,只比较变化的(增量备份)。
4.支持匿名传输,方便网站镜像;也可以做验证,加强安全。

rsync与scp的区别:支持增量备份;数据同步时保持文件的原有属性。

三、本地文件同步

[root@localhost /]# rsync -av /dir1/ /dir2/   #将目录dir1里面的文件同步到目录dir2
[root@localhost /]# rsync -av /dir1 /dir2     #将目录dir1同步到目录dir2下面
[root@localhost /]# rsync -avR /dir1/ /dir3/  #保留相对路径
[root@localhost /]# rsync -av --delete /dir1/ /dir2   #dir1里面有两个文件file1和file2,dir2里面有三个文件file1、file2和file3,同步以后dir2里面会删除掉file3

四、远程文件同步

[root@localhost ~]# rsync -av linux.txt root@192.168.68.182:/root/  #同步文件linux.txt到远程服务器的root目录下
[root@localhost ~]# rsync -avR test/ root@192.168.68.182:/root   #同步目录test到远程服务器的root下
[root@localhost ~]# rsync -av root@192.168.68.182:/root/linux.txt ./  #拉取远程服务器文件linux.txt到本地当前目录
[root@localhost ~]# rsync -av root@192.168.68.182:/root/test ./  #拉取远程服务器目录test到本地当前目录

五、免密文件同步和更改端口后的文件同步

1.做ssh免密以后rsync同步时就不用输入密码。
2.修改端口后用rsync同步要加-e参数运行shell

[root@localhost ~]# rsync -e "ssh -p 2222" -av rsync.txt root@192.168.68.183:/root

六、rsync作为系统服务

1.CentOS7直接有rsync服务
2.CentOS6需要创建配置文件再启动
如果rsync作为服务单独运行,底层就不需要ssh服务了

[root@localhost ~]# touch /etc/rsyncd.conf
[root@localhost ~]# rsync --daemon

七、应用举例

有代码服务器和备份服务器各一台,实现定时将代码服务器中的代码对备份服务器进行同步。
1.(代码服务器)创建测试用的文件

[root@localhost ~]# mkdir -p /app/java_project
[root@localhost ~]# mkdir /app/java_project/abc{1..3}
[root@localhost ~]# touch /app/java_project/file{1..10}.java

2.(代码服务器)修改配置文件将rsync作为系统服务运行

[root@localhost ~]# vim /etc/rsyncd.conf
#添加文件内容
[app]
path=/app/java_project
log file=/var/log/rsync.log

3.(备份服务器)创建备份目录并测试是否可以连接到rsync服务

[root@localhost ~]# mkdir -p /backup/app1_java
[root@localhost ~]# rsync -a root@192.168.68.182::
app       

4.利用定时任务和脚本文件进行定时同步
编写脚本

[root@localhost ~]# vim /root/rsync_java.sh
#!/bin/bash
rsync -av root@192.168.68.182::app /backup/app1_java &>/dev/null
[root@localhost ~]# chmod +x /root/rsync_java.sh

编写计划任务

[root@localhost ~]# crontab -e
46 4 * * * /root/rsync_java.sh

七、给rsync服务添加密码

1.(代码服务器)修改配置文件

[root@localhost ~]# vim /etc/rsyncd.conf
[app]
path=/app/java_project
log file=/var/log/rsync.log
auth users=user1,user2
secrets file=/etc/rsyncd.secrets

2.(代码服务器)创建密码文件并修改权限

[root@localhost ~]# vim /etc/rsyncd.secrets
user1:123
user2:123
[root@localhost ~]# chmod 600 /etc/rsyncd.secrets

3.(备份服务器)同步
在这里插入图片描述

八、rsync搭配inotify进行实时同步

1.(代码服务器)安装inotify-tools,进入到inotify-tools解压的文件编译安装

[root@localhost inotify-tools-3.13]# ./configure && make && make install

2.(代码服务器)编写脚本来进行同步

[root@localhost java_project]# vim /root/inotify.sh
#!/bin/bash
/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib,move /app/java_project |while read events
do
      rsync -av --delete /app/java_project root@192.168.68.183:/backup/app1_java
      echo "`date +%F\ %T`出现事件$events" >> /var/log/rsync.log 2>&1
done

3.(代码服务器)添加可执行权限

[root@localhost java_project]# chmod +x /root/inotify.sh

4.(代码服务器)让脚本在后台执行
如果要结束后台运行的进程,先jobs查看,然后kill %编号

[root@localhost java_project]# nohup /root/inotify.sh &

九、xinetd托管rsyncd服务

1.安装xinetd

[root@localhost ~]# yum install -y xinetd
[root@localhost ~]# rpm -ql xinetd	

2.编写xinetd的配置文件
常用参数

only_from 只允许访问
no_access 拒绝访问
access_times 控制访问服务的时间段
log_type 指定日志类型
interface 并发连接数
per_source 每个IP的最大连接数
includedir /etc/xinetd.d 子配置文件

编写子配置文件(新添加的服务一般在子配置文件下面创建相应的文件)

vim /etc/xinetd.d/rsync
service rsync
{
        disable         = no
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

3.重启xinetd服务

[root@localhost ~]# systemctl restart xinetd
[root@localhost ~]# ss -tlunp|grep 873

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1097242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python玫瑰花

系列文章 序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://want595.blog.csdn.net/article/details/1295031234漂浮爱心https://want…

常见的作物模型应用技巧!DSSAT模型、APSIM模型、WOFOST模型与PCSE模型等应用

①最新DSSAT作物模型建模方法及应用 DSSAT模型内核算法是基于Fortran语言开发的,软件界面是基于C进行开发。了解和熟悉DSSAT模型的关键算法和软件的操作是学习DSSAT模型的基础。此外,想要成为一名优秀的作物模型使用者与科研团队不可或缺的人才&#xff…

Windows 安装 nvm 提示 ‘“node“‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

Windows 安装 nvm 提示 ‘“node”’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 解决办法 先卸载电脑中原有 nodejs 版本,再安装 nvm 即可。 安装完成之后记得重新打开终端 使用 安装 nodejs 18 添加环境变量 在 Path 里添加这两个变量名 结果 现…

XPS测试常见问题及解答(二)-科学指南针

在做X 射线光电子能谱(XPS)测试时,科学指南针检测平台工作人员在与很多同学沟通中了解到,好多同学仅仅是通过文献或者师兄师姐的推荐对XPS测试有了解,但是对于其原理还属于小白阶段,针对此,科学指南针检测平台团队组织…

认识京东联盟API,获取APPkey和APPsecret|直接调用KEY方式

做过淘客开发的一定接触过淘宝API开发。 而做京东联盟软件自然离不开京东联盟API。 京东联盟API目前上线的有很多。京东平台商品API。 https://jos.jd.com/api/list.htm?id117 Paste_Image.png 但是京东联盟API获取比较难,没办法在线申请,需要找官方…

NuGet包使用方法

NuGet包使用方法 必备条件 安装包括 dotnet CLI 的 .NET Core SDK。 从 Visual Studio 2017 开始,dotnet CLI 将自动随任何与 .NET Core 相关的工作负载一起安装。 如果你还没有帐户,请在 nuget.org 上注册一个免费帐户。 创建新帐户会发送确认电子邮…

Everything和SVN结合使用-在Everything中显示SVN

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…

实录分享 | Alluxio 在网易大数据的应用与优化

欢迎来到【微直播间】,2min纵览大咖观点 本次分享主要包括四个方面: 背景介绍;对象存储场景优化;Impala 引擎适配;通用功能增强。 一、 背景介绍 网易有数大数据基础平台NDH:NDH 是网易对标 Cloudera C…

【Linux学习笔记】代码编译工具gcc/g++

1. 程序的翻译1.1. 预处理1.2. 编译1.3. 汇编1.4. 链接 2. 动态链接和静态链接2.1. 动态链接2.2. 静态链接2.3. 动态链接和静态链接的区别2.4. 动态链接和静态链接的验证 3. make/makefile3.1. 依赖方法和依赖关系3.2. 写一个makefile文件3.3. PHONY的意义3.4. makefile的推导规…

Ubuntu:VS Code IDE安装ESP-IDF【保姆级】(草稿)

物联网开发学习笔记——目录索引 Visual Studio Code(简称“VS Code”)是Microsoft向开发者们提供的一款真正的跨平台编辑器。 参考: VS Code官网:Visual Studio Code - Code Editing. Redefined 乐鑫官网:ESP-IDF …

[网站部署03]宝塔+worldPress部署Ripro主题网站

1.下载好主题网站上传到下方目录即可 下载地址:请自行百度搜索,官网收费 下载好压缩包上传到/www/wwwroot/你的网站目录/wp-content/themes 2.回到Worldpress后台点击外观可以看到主题网站 http://192.168.49.128/wp-admin/themes.php 剩下的就是设置…

【matlab海洋专题】高级玫瑰图--风速风向频率玫瑰图--此图细节较多

玫瑰图分享过好多 这一次的还是不一样,细节较多 本期内容 【matlab海洋专题】高级玫瑰图–风速风向频率玫瑰图–此图细节较多: 总结起来,确实不好画! 图片如下: 图片名称我不知道,我意会为: 风速风向…

众和策略:国际油价走高,石油板块强势拉升,通源石油、和顺石油等涨停

石油板块16日盘中大幅拉升,到发稿,通源石油、和顺石油、贝肯动力、中曼石油、泰山石油、仁智股份等涨停,潜能恒信、博迈科涨约8%。 燃气板块亦上扬,到发稿,洪通燃气、美能动力涨约5%,新疆火炬、九丰动力涨…

众和策略:减肥药概念热度不减,百花医药斩获4连板,公司提示风险

减肥药概念16日延续强势,部分个股继续走高。到发稿,博瑞医药涨约11%,百花医药、双鹭药业涨停,金凯生科涨近10%,昊帆生物涨超8%,华森制药、翰宇药业、常山药业等涨超5%。值得留意的是,博瑞医药近…

以任意位置中间元素翻转字符串:

前置知识: 你要学会如何将字符串转化为字符,如何将字符转为字符串 字符串转化为字符 String str "abcdef";char[] strChar str.toCharArray();for(int i :strChar){System.out.print((char)i" ");//需要进行强制类型转换&#x…

迅为RK3588开发板使用RKNN-Toolkit-lite2运行测试程序

1 首先也需要部署运行环境,将库文件放入 RK3588 开发板上,我们将网盘资料“iTOP-3588 开发 板 \02_ 【 iTOP-RK3588 开 发 板 】 开 发 资 料 \12_NPU 使 用 配 套 资 料 \05_Linux_librknn_api\librknn_api\aarch64”路径下的文件通过U盘拷贝到开发板的…

进程相关介绍(二)

进程状态 当我们的进程运行的时候有很多状态,因为我们的CPU资源是有限的,我们的进程必须有选择性的放入CPU上面才可以运行。因此我们的进程就存在了很多种进程状态,比如运行态,阻塞态,挂起态等等。在本次的博客当中我们…

如何选择功放芯片?音质好的功放芯片性能详解

数字功放也称为数字音频功放芯片,是一种利用数字信号处理技术进行音频放大的集成电路芯片;是现代音频放大技术的重要组成部分,广泛应用于音响系统、家庭影院、汽车音响、无线音箱等领域,以实现高质量的音频放大效果。 其工作原理…

优思学院:成功团队的十大秘诀,助你事业腾飞!

在竞争激烈的商业环境中,成功的团队是一个企业腾飞的关键。一个协作默契、高效运作的团队不仅可以提高生产力,还能激发创新,推动企业的可持续发展。那么,到底是什么让一支团队在竞争中脱颖而出呢?本文将为你揭示成功团…

【Linux学习笔记】git工具

1. 仓库克隆1.1. .git ignore文件 2. git的三板斧 1. 仓库克隆 首先打开gitee网站注册一个账号,使用该账号创建一个仓库,然后复制仓库的https地址,然后到xshell使用命令进行仓库克隆。 创建仓库 其中创建仓库,详细的可以去网上搜…