CentOS下使用rsync实现定时复制功能

搭建第一个Spring Boot项目 Spring Initializr是Spring官方提供的项目初始化工具,可快速生成Spring Boot项目骨架。通过网页界面(https://start.spring.io/)可选择项目构建方式(Maven/Gradle)、开发语言、Spring Boot版本等配置,并添加所需依赖。生成的Web项目默认使用Tomcat容器,支持Jar包部署。开发时可通过spring-boot-devtools实现热部署,代码修改后自动重载。文中演示了创建项目、添加Controller、打包部署及热部署配置的全过程,帮助 阅读详情
一、下载、安装rsync
**** 正常安装RH的时候是带RSYNC的,运行文件放在/usr/bin/rsync
#tar zxvf rsync-2.6.9.tar.gz
#cd rsync-2.6.9
#./configure --prefix=/usr/local/rsync
#make
#make install
二、配置rsync server
1、启动RSYNC
#vi /etc/xinetd.d/rsync
  把disable原来的YES改成NO
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}
随系统启动RSYNC
     #chkconfig rsync on

2、配置/etc/rsyncd.conf(需要手动生成)
rsyncd.conf的参数写在上边就是全局参数和写在模块里的就是模块参数
#vi /etc/rsyncd.conf
全局参数
uid = root                                  #运行RSYNC守护进程的用户
gid = root                                  #运行RSYNC守护进程的组
use chroot = no                 #不使用chroot
max connections = 4             # 最大连接数为4
strict modes =yes                #是否检查口令文件的权限
port = 873                      #默认端口873
          
模块参数
[backup]                   #这里是认证的模块名,在client端需要指定
path = /home/backup/        #需要做镜像的目录,不可缺少!
comment = This is a test       #这个模块的注释信息
ignore errors                #可以忽略一些无关的IO错误
read only = yes              # 只读
list = no                   #不允许列文件
auth users = hening             #认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
secrets file = /etc/rsyncd.pw           #密码和用户名对比表,密码文件自己生成
hosts allow = 192.168.1.1,10.10.10.10      #允许主机
hosts deny = 0.0.0.0/0                   #禁止主机
#transfer logging = yes
注释:下面这些绿色文件是安装完RSYNC服务后自动生成的文件
pid file = /var/run/rsyncd.pid      #pid文件的存放位置
lock file = /var/run/rsyncd.lock     #锁文件的存放位置
log file = /var/log/rsyncd.log      #日志记录文件的存放位置

==============实例====================
uid = nobody
gid = nobody
use chroot = no
max connections = 4
stirict modes = yes
port = 873
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[html]
path = /home/html/
comment = This is a html
ignore errors
read only = no
list = no
hosts allow = 192.168.152.155,10.10.10.10
hosts deny = 0.0.0.0/0
auth users = devilzy
secrets file =/etc/rsyncd.pw
[index]
path = /home/index/
comment = This is a index
ignore errors
read only = no
list = no
hosts allow = 192.168.152.155
hosts deny = 0.0.0.0/0
auth users = devilzy
secrets file =/etc/rsyncd.pw
==============实例====================
 
3、配置rsync密码(在上边的配置文件中已经写好路径) /etc/rsyncd.pw(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)
账号:密码
  #vi /etc/rsyncd.pw
例子:
Hening:111111
权限:因为rsyncd.pw存储了rsync服务的用户名和密码,所以非常重要。要将rsyncd.pw设置为root拥有, 且权限为600。
#cd /etc
#chown root.root rsyncd.pw
#chmod 600 rsyncd.pw
3.rsyncd.motd(配置欢迎信息,可有可无)
# vi /etc/rsyncd.motd
rsyncd.motd记录了rsync服务的欢迎信息,你可以在其中输入任何文本信息,如:
Welcome to use the rsync services!
4、让配置生效
#service xinetd restart
===============出现问题================================
1.xinetd: unrecognized service
执行如下操作:
yum -y install xinetd
===============出现问题================================
三、启动rsync server
  RSYNC服务端启动的两种方法
1、启动rsync服务端(独立启动)
#/usr/bin/rsync --daemon
2、启动rsync服务端 (有xinetd超级进程启动)
# /etc/rc.d/init.d/xinetd reload
3.重启方法:kill -9 rsync

四:加入rc.local
在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时把rsync --daemon加载进去。
#vi /etc/rc.local
加入一行/usr/bin/rsync --daemon
五.检查rsync
#netstat -a | grep rsync
   tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN
六、开启端口 iptables
iptables -A INPUT -p tcp -s ! 192.168.152.155 --dport 873 -j DROP
如此, 只有 11.22.33.44 这个 client IP 能进入这台 rsync server.


七.配置rsync client
1、设定密码
#vi /etc/rsyncd.pw
111111
修改权限
#cd /etc
#chown root.root rsyncd.pw
#chmod 600 rsyncd.pw
2、client连接SERVER
  从SERVER端取文件
/usr/bin/rsync -vzrtopg --progress --delete devilzy@192.168.152.154::index /home/index --password-file=/etc/rsyncd.pw
/usr/bin/rsync -vzrtopg --progress --delete devilzy@192.168.152.154::html /home/html --password-file=/etc/rsyncd.pw
向SERVER端上传文件
/usr/bin/rsync -vzrtopg --progress --password-file=/root/rsyncd.pw  /home/index devilzy@192.168.152.154::index
/usr/bin/rsync -vzrtopg --progress --password-file=/root/rsyncd.pw  /home/html devilzy@192.168.152.154::html
这个命令将把本地机器/home/backup目录下的所有文件(含子目录)全部备份到RSYNC SERVER(172.20.0.6)的backup模块的设定的备份目录下。
请注意如果路径结束后面带有"/",表示备份该目录下的东东,但不会创建该目录,如不带"/"则创建该目录。
RSYNC用法:
       rsync [OPTION]... [USER@]HOST::SRC  [DEST]              #从RSYNC SERVER备份文件到本地机器
    rsync [OPTION]... SRC [SRC]...      [USER@]HOST::DEST   #从本地机器备份文件到RSYNC SERVER
3、自动运行
1)vi /usr/local/rsync/time.sh     //制作脚本文件
把下边的内容复制进去
#!/bin/bash
/usr/bin/rsync -vzrtopg --progress --delete devilzy@192.168.152.154::index /home/index --password-file=/etc/rsyncd.pw
/usr/bin/rsync -vzrtopg --progress --delete devilzy@192.168.152.154::html /home/html --password-file=/etc/rsyncd.pw

#chmod +x /usr/local/rsync/time.sh
2) crontab -e
加入* * * * * /usr/local/rsync/time.sh        //每隔一分钟运行一次time.sh脚本文件
加入55 * * * * /usr/local/rsync/time.sh        //每到某个小时的55分钟就运行一次time.sh脚本文件(每隔一个小时运行一次)


命令介绍:-rvlHpogDtS
rsync命令参数
-v表示verbose详细显示
-z表示压缩
-r表示recursive递归
-t表示保持原文件创建时间
-o表示保持原文件属主
-p表示保持原文件的参数
-g表示保持原文件的所属组
-a存档模式
-P表示代替-partial和-progress两者的选项功能
-e ssh建立起加密的连接。
--partial阻止rsync在传输中断时删除已拷贝的部分(如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上
删除已拷贝的部分文件。)
--progress是指显示出详细的进度情况
--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。
--exclude不包含/ins目录
--size-only 这个参数用在两个文件夹中的差别仅是源文件夹中有一些新文件,不存在重名且被修改过的文件,因为这种文件有可能会因为内容被修改可大小一样,而被略过。这个参数可以大大地提高同步的效率,因为它不需要检查同名文件的内容是否相同。
--password-file来指定密码文件,内容包含server端指定认证用户的密码。
这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。
hening@192.168.0.217::backup
hening是指server端指定认证的用户
192.168.0.217是指服务器端的ip
::backup 表示服务器端需要同步的模块名称;
/home/quack/backup/$DATE是同步后的文件指存放在本机的目录地址。
/var/log/rsync.$DATE是同步后的日志文件存放在本机的目录地址。
注意
不放/  则目录名也包含mirror,放 / 则只有目录里面的东西mirror了



实例总结流程:
1.配置主控端
# vim /etc/rsyncd.conf
###################################
uid = nobody
gid = nobody
use chroot = no
max connections = 4
stirict modes = yes
port = 873
[html]
path = /home/html
comment = This is a html
ignore errors
read only = false
list = no
hosts allow = 192.168.152.*
hosts deny = 0.0.0.0/0
auth users = devilzy
secrets file =/etc/rsyncd.pw
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[index]
path = /home/index
comment = This is a index
ignore errors
read only = false
list = no
hosts allow = 192.168.152.*
hosts deny = 0.0.0.0/0
auth users = devilzy
secrets file =/etc/rsyncd.pw
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
###################################
# vim /etc/rsyncd.pw
###################################
devilzy:123456
###################################
# cd /etc
# chown root.root rsyncd.pw
# chmod 600 rsyncd.pw
启动rsync server
# rsync --daemon
查看端口873是否打开
加入启动
# echo "rsync --daemon" >>/etc/rc.local
给/usr/local/test目录写权限
# chown -R nobody.nobody /usr/local/test
# chmod -R 770 /usr/local/test
主控配置完成
2.客户端配置
# vim /etc/rsyncd.pw
####################################
123456
####################################
# chown root.root /etc/rsyncd.pw
# chmod 600 /etc/rsyncd.pw
再使用命令直接更新到服务器数据文件就不需要密码
/usr/bin/rsync -vzrtopg --progress --password-file=/root/rsyncd.pw  /home/index devilzy@192.168.152.154::index
/usr/bin/rsync -vzrtopg --progress --password-file=/root/rsyncd.pw  /home/html devilzy@192.168.152.154::html
注意:
1.这里的index名字为主控conf配置里面的[index],一定要同名
2.devilzy为主控conf配置里面的devilzy,可以随意命名,不是系统用户



==================遇到的问题和解决办法========================================
1. @ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1296) [receiver=2.6.8]
原因及解决办法:
SELinux;
setsebool -P rsync_disable_trans on
==================遇到的问题和解决办法========================================
使用 XJAR 对 Spring Boot JAR 包加密运行的实践与解析 Spring Boot 作为一个基于 Spring 的快速开发框架,以其极简的配置、强大的功能以及广泛的生态支持,成为了现代 Java 开发中的主流选择。它通过对 JAR 包中的 Java 类文件进行加密,阻止未经授权的用户反编译和查看源代码,从而保障应用程序的知识产权和商业逻辑。XJAR 的加密技术并不会改变 JAR 包的整体结构,而是在 JAR 包中嵌入加密算法和密钥,只有经过授权的用户才能解密并正常运行该 JAR 文件。加密后的类文件会被打包回 JAR 文件中,并嵌入解密所需的密钥。 阅读详情

相关推荐

Spring Boot基础使用详解

Spring Boot 主要使用 application.properties 或 application.yml 文件进行配置。通过以上步骤,你就成功搭建了一个简单的 Spring Boot 项目。通过以上步骤,你可以实现 Maven 与 Spring Boot 的多环境兼容,方便在不同环境下进行开发、测试和部署。通过以上基础设置,你可以快速搭建一个基本的 Spring Boot 应用程序,并根据需求进行扩展和定制。通过以上步骤,你可以轻松地在不同环境下进行开发和部署,而无需频繁修改配置文件。

m0_54804970的博客 1344

文件的读写基本操作

一、文件是计算机中数据持久化存储的表现形式 读写文件标准操作格式1: 1、打开文件:file1 = open('文件名','读写模式') 2、操作文件 3、关闭文件:file1.close() 文件操作完毕后必须关闭,否则长期保持对文件的连接状态,造成内存溢出的现象发生 读写文件操作格式2: # 1、打开文件 file1 = open('demo.txt','w') # 2、操作文件 file1.write('hello world') # 3、关闭文件 file1.close() 1、打开文件:wi

范高伦的博客 1万+

学习Spring Boot,应该从哪里开始学起

学习Spring Boot,应该从哪里开始学起记住,学习是一个持续的过程,不要害怕遇到困难和挑战。通过不断的实践和探索,你会逐渐掌握Spring Boot的精髓。

cesske的博客 1757

centos下的定时任务copy文件

添加定时任务然后执行下crontab /etc/crontab将定时任务加载进去。

帅的二批的博客 521

【Spring Boot】第一个Spring Boot项目:helloworld

本节从简单的helloworld程序开始介绍创建Spring Boot项目的方法和流程,以及Spring Boot项目结构,最后介绍项目中非常重要的pom.xml文件。

衍生星球的博客 1440

Spring Boot+Vue前后端分离商城实战(二)Spring Boot 项目构建及使用

在介绍了基础环境搭建之后,这一篇文章将介绍如何使用 IDEA 进行 Spring Boot 项目的开发和调试,希望大家能够尽快上手和体验 Spring Boot 项目开发。关于 Spring Boot 项目开发时编辑器该如何选择,十三个人还是比较推荐 IDEA 的,后续课程中关于项目的开发及演示也都会选择使用 IDEA 编辑器。 Spring Boot 项目构建 这一节主要介绍如何新建一个 Spring Boot 项目以及过程中需要注意的知识点,版本管理工具选择的是 Maven,对 Maven 比较熟悉的朋

程序员有故事 9298

Linux(CentOS 8)文件实时自动同步备份(rsync+inotify)

host 是 server 的 ip,src 是 client 端要实时监控的目录,des 是认证的模块名,需要与 server 一致,user 是建立密码文件里的认证用户。文件同步成功,接下来部署inotify实现文件实时同步备份。192.168.100.46为client节点。192.168.100.47为server节点。

qq_44484541的博客 3740

rsync-time-backup:使用rsync进行Time Machine样式备份

Rsync时间备份 该脚本使用rsync提供Time Machine风格的备份。 它将创建文件和目录的增量备份到您选择的目的地。 备份的结构使得在任何时间点都可以轻松恢复任何文件。 它可以在Linux,macOS和Windows(通过WSL或Cygwin)上运行。 与Time Machine相比,它的主要优势是灵活性,因为它可以在任何文件系统之间进行备份,并且可以在任何平台上运行。 例如,您也可以毫无问题地备份到Truecrypt驱动器。 在macOS上,与Time Machine相比,它具有一些缺点-特别是在插入备份驱动器时它不会自动启动(尽管可以使用启动代理来实现),它需要一些命令行知识,并且没有提供了特定的GUI来还原文件。 而是可以使用任何文件浏览器(包括Finder)或命令行来还原文件。 安装 git clone https://github.com/laurent22/rsync-time-backup 用法 Usage: rsync_tmbackup.sh [OPTION]... <[USER@HOST:]SOURCE> <[USER@HOST:]DESTINATIO

centos6定时任务备份数据

数据备份基本思路: 1,找到源数据存储的路径, 2,写定时脚本将源数据复制到新的备份路径下面。     设置定时执行脚本任务 crontab -e [root@tlanx1 redis]# crontab -e /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) 45 02 * * * ...

苟活于“盛世” 652

rsync-time-backup, 使用rsync的Time Machine风格.zip

rsync-time-backup, 使用rsync的Time Machine风格 time备份这里脚本使用rsync提供 Time machine样式备份。 它创建文件和目录的增量备份到你所选择的目的地。 备份以一种方式进行结构化,这使得在任何时候都可以以轻松恢复任何文件。它在 Linux,macOS 和 Wind

用Bus Hound和MIDIOX抓包分析USB MIDI数据流:从硬件接口到软件解析的完整实战

本文详细介绍了如何使用Bus Hound和MIDIOX工具抓包分析USB MIDI数据流,从硬件接口到软件解析的完整实战过程。通过解析MIDI协议、捕获Note On/Off事件、控制变更消息等实例,帮助开发者深入理解音乐数字接口的底层通信机制,并提供了常见问题的解决方案和调试技巧。

weixin_42692935的博客 406

centos定时备份站资源并复制到一个web目录下,以供下载。

[root@adminOK ~]# cat my.sh rm -f /alidata/www/pxpz/alidata*.gz && tar -zcvPf alidata20`date +%y%m%d%H%M`.tar.gz /alidata && /bin/mv *.gz /alidata/www/pxpz && chown www:www /alidata/www/...

gqtfnnz的专栏 333

使用DevExpress22.X(Patch)控件库在VisualStudio2022使用C#进行Winform、WPF应用的开发,看这一篇就够了!

写在开头,Dev Express是个十分强大的控件库(下文简称Dev),但碍于其高昂的使用费用,“出于学习目的”,我们一般使用的都是Patch版本(在版权意识日趋加强的当下,不要提那两个字,现在加上那些字,百度都搜不出内容)。

平凡之路 2万+

Spring Initializr集成:用lsp-java快速创建Spring Boot项目

lsp-java是一款专为Emacs打造的Java语言服务器协议客户端,它与Spring Initializr深度集成,为开发者提供了快速创建和配置Spring Boot项目的完整解决方案。通过lsp-java,你可以在Emacs环境中一站式完成项目初始化、依赖管理和代码开发,大幅提升Spring Boot应用的开发效率。 ## 为什么选择lsp-java创建Spring Boot项目? ls

gitblog_00572的博客 956

手把手用瑞萨E1仿真器调试RH850 CAN通信:从报文收发到底层寄存器监控

本文详细介绍了使用瑞萨E1仿真器调试RH850 CAN通信的全过程,包括硬件连接、CS+开发环境配置、CAN控制器寄存器解析以及双通道网关实战开发。通过实战案例和错误诊断技巧,帮助开发者快速掌握RH850F1L的RS-CAN控制器应用,提升车载网络开发效率。

weixin_30919429的博客 163

瑞芯微RV1126B芯片实战:如何用3Tops NPU打造智能安防摄像头(附配置指南)

本文详细介绍了基于瑞芯微RV1126B芯片构建高性能智能安防摄像头的实战经验。文章深入剖析了其3Tops NPU与独立AI-ISP的协同优势,提供了从硬件选型、开发环境搭建、AI模型部署到系统调优的全流程配置指南,帮助开发者充分发挥芯片潜力,实现高效、稳定的智能视觉应用。

weixin_29281915的博客 443

Spring Boot入门指南:从核心原理到项目实战

在Java企业级应用开发中,框架的简化与效率提升是开发者持续追求的目标。Spring Boot通过“约定大于配置”的设计理念,实现了对Spring框架的革命性封装,其核心机制包括自动配置和起步依赖。自动配置能够根据项目Classpath自动推断并装配所需组件,而起步依赖则通过预定义的依赖包集合,解决了传统开发中令人头疼的版本冲突问题。这些技术显著降低了项目搭建和配置的复杂性,使开发者能更专注于业务逻辑实现。其价值在于极大地提升了开发效率,并推动了微服务架构的落地实践。典型的应用场景包括快速构建RESTful

weixin_30655569的博客 299

具身智能:原理、算法与系统 第18章 模仿学习与人类示范

与基于试错机制的强化学习不同,模仿学习假设存在能够提供高质量轨迹示范的专家策略,学习者的目标是在不直接访问专家内部决策机制的情况下,复现或泛化专家的行为模式。此外,选项 GAIL(Option-GAIL)将分层强化学习与对抗模仿结合,学习选项(Options)级别的策略,能够捕捉专家示范中的多模态行为与高层意图。X-Sim 框架提出从真实到模拟再到真实的迁移路径:首先从人类视频中重建物理仿真环境,在仿真中训练状态级策略,随后通过策略蒸馏获得基于视觉的策略,最后通过在线领域自适应对齐真实与仿真观测。

VectorShift的博客 125

深入 Spring Boot 3:Java Web 开发进阶之路

SpringBoot3作为Java Web开发的重要框架,以其“约定大于配置”的理念简化了开发流程,使开发者能够快速构建高效应用。它支持快速开发、独立运行,并拥有丰富的生态系统,能够轻松集成多种第三方库和框架。SpringBoot3内置了Tomcat等Web服务器,默认集成了SpringMVC,支持RESTful API和MVC应用开发。开发环境配置包括安装JDK17及以上版本、选择IDE(如IntelliJ IDEA)以及配置Maven或Gradle构建工具。通过Spring Initializr可以快速

hh64237的博客 901

YOLOv11 结合多尺度卷积注意力机制(MSCA):小目标检测精度提升20%的完整实现指南

用不同尺寸的深度卷积(如d×7×1、d×1×7等)提取多尺度特征;通过通道融合,强化小目标的细节信息;仅增加4.2M参数,却能让小目标检测精度大幅提升(对比表见后文)。

m0_71589036的博客 186

Open3D 计算点云基本特征

在 Open3D 中,可以通过 PCA(主成分分析)来求得点云的特征值和特征向量。然后基于这些特征值,进一步计算各种几何特征,如线性、平面性、球度等。

纵马踏花向自由 1606

Gradle从入门到实战:Maven老手使用idea如何平滑迁移并构建多模块Spring Boot项目

使用idea版本2026.1,Gradle版本8.14.5,springboot版本2.17.3,jdk版本1.8。文章适合对gradle一窍不通,但对maven很熟练的朋友学习。从创建项目到构建启动,逐步讲解,每一步gradle配置的含义都会说明。

平时的经验总结,学习历程 451

用 SAP-ABAP-1 把 ABAP 代码读懂:从 Generative AI Hub Orchestration 到 Joule 落地的实战指南

SAP-ABAP-1 是 SAP 推出的 ABAP 专用基础模型,专注于代码解释与理解。它能显著降低企业遗留系统的维护成本,帮助开发人员快速掌握复杂业务逻辑。该模型通过 SAP Generative AI hub 托管,支持 128,000 tokens 的上下文长度,适合分析大型 ABAP 类和 CDS 视图。典型应用场景包括代码解释、迁移辅助和云合规检查。调用需通过 Orchestration service 进行,确保企业级安全治理。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1213
上一篇: NFS服务器的安装与配置
下一篇: CenOS5.6下安装nagios3.2监控服务器群的运行状况
阳小良
博客等级 码龄17年 54粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值