首页 > 其他分享 >rsync的部署

rsync的部署

时间:2024-02-29 13:23:48浏览次数:27  
标签:rsync 部署 root www 41 etc backup

Rsync服务模式-服务端配置

为什么需要服务模式
Rsync 借助 SSH 协议同步数据存在的缺陷:
1.使用系统用户(不安全) /etc/passwd
2.使用普通用户(会导致权限不足情况)
3.守护进程传输方式: rsync 自身非常重要的功能(不使用系统用户,更加安全)

1.安装rsync

yum install rsync -y

2.修改配置文件

复制粘贴如下代码即可

cat > /etc/rsyncd.conf << 'EOF'
uid = www 
gid = www 
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd 
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = yuchaoit.cn about rsync
path = /backup

[data]
comment = this is secord backup dir,to website data..
path = /data
EOF

配置文件解释

uid = www                     # 运行进程的用户
gid = www                     # 运行进程的用户组
port = 873                     # 监听端口
fake super = yes              # 无需让 rsync 以 root 身份运行,允许接收文件的完整属性
use chroot = no               # 禁锢推送的数据至某个目录, 不允许跳出该目录
max connections = 200         # 最大连接数
timeout = 600                 # 超时时间
ignore errors                 # 忽略错误信息
read only = false             # 对备份数据可读写
list = false                  # 不允许查看模块信息
auth users = rsync_backup          # 定义虚拟用户,作为连接认证用户
secrets file = /etc/rsync.passwd   # 定义 rsync 服务用户连接认证密码文件路径

[backup]                     # 定义模块信息
comment = 注释信息             # 模块注释信息
path = /backup                 # 定义接收备份数据目录

3.创建用户以及数据目录

根据你的配置文件中定义的信息,创建对应的用户,备份的目录
该无法登录的用户,只是用于运行进程的账户
useradd -u 1000 -M -s /sbin/nologin www

创建配置文件中定义的2个备份目录
mkdir -p /data/   /backup

修改备份目录的权限
[root@rsync-41 ~]#chown -R www:www /data/
[root@rsync-41 ~]#chown -R www:www /backup/
[root@rsync-41 ~]#ll -d /data /backup/
drwxr-xr-x 2 www www 6 Apr 20 11:34 /backup/
drwxr-xr-x 2 www www 6 Apr 20 11:34 /data

4.创建rsync专用的账户密码(这一步很重要,有错基本也是来这排查)

1.创建密码文件,写入账户和密码,用于和客户端连接时候的认证
vim /etc/rsync.passwd

2.写入账户密码
[root@rsync-41 ~]#cat /etc/rsync.passwd 
rsync_backup:chaoge666

3.待会客户端向rsync服务器推送数据,就得用这个账号密码!!!!


4.这一步,非常重要,rsync要求降低密码文件的权限,且必须是600

chmod 600 /etc/rsync.passwd 

[root@rsync-41 ~]#ll /etc/rsync.passwd 
-rw------- 1 root root 23 Apr 20 11:36 /etc/rsync.passwd

5.加入开机自启动

设置rsyncd服务,运行,且开机自启

systemctl start rsyncd

systemctl enable rsyncd

6.检查服务是否运行

systemctl status rsyncd


[root@rsync-41 ~]#ps -ef|grep 'rsync' | grep -v 'grep'
root       6078      1  0 11:46 ?        00:00:00 /usr/bin/rsync --daemon --no-detach



[root@rsync-41 ~]#netstat -tunlp|grep rsync
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      6078/rsync          
tcp6       0      0 :::873                  :::*                    LISTEN      6078/rsync   

Rsync服务模式-客户端配置

1.安装rsync

yum install rsync -y

2.配置密码文件及授权

此时rsync客户端,需要把数据推送到rsync服务端
但是需要账户认证,这个账户密码,是服务端指定好的
rsync_backup
chaoge666

客户端需要做的操作有2个,提供密码认证  二选一

1. 生成密码文件,每次连接都指定这个密码文件(在客户端生成)

echo 'chaoge666'  > /etc/my_rsync.pwd
还必须降低密码文件的权限才行,必须是600
chmod 600 /etc/my_rsync.pwd
此时可以传输数据了,往data模块下传输
rsync -avzP  --password-file=/etc/my_rsync.pwd   /tmp/200M.log  rsync_backup@rsync-41::data

如果是脚本中的话,去掉vP显示过程的参数去掉
rsync -az  --password-file=/etc/my_rsync.pwd   /tmp/200M.log  rsync_backup@rsync-41::data

2. 生成密码变量,让当前系统中存在叫做 RSYNC_PASSWORD 这个变量,以及变量的值,是配置文件中的密码即可

export RSYNC_PASSWORD='chaoge666'

rsync -avzP    /tmp/200M.log  rsync_backup@rsync-41::backup

下载备份服务器的数据

撤销这个密码变量
unset RSYNC_PASSWORD
或者重新登录,只要密码变量失效,就必须得输入密码了,或者使用密码文件


非交互式的密码认证方式
1,使用密码变量
export RSYNC_PASSWORD='chaoge666'

2.指定密码文件

rsync -avzP --password-file=/etc/my_rsync.pwd  rsync_backup@rsync-41::backup   /tmp/


rsync -avzP --password-file=/etc/my_rsync.pwd  rsync_backup@rsync-41::backup/222222222.log   /tmp/

标签:rsync,部署,root,www,41,etc,backup
From: https://www.cnblogs.com/btcm409181423/p/18043459

相关文章

  • centos下部署docker
    一、docker概述docker是基于go语言实现的云开源项目,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布流行的linux和windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口二、docker的优点系统平滑移植、容器虚拟化,从开发环......
  • RASP部署笔记
    一.什么是RASPRASP全称是RuntimeApplicationSelfProtect,其基本思路是将防护代码注入到应用运行的关键函数中,实现应用运行态的入侵检测与防护。例如,为了检测任意文件上传攻击,我们可以将防护代码注入到文件写入基础函数中。在java中,这个函数是FileOutputStream的构造函数。我们通......
  • vue项目本地开发完成后部署到服务器后报404是什么原因呢?
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一、如何部署前后端分离开发模式下,前后端是独立布署的,前端只需要将最后的构建物上传至目标服务器的web容器指定的静态目录下即可我们知道vue项目在构建后,是生成一系列的静态文件常规布署我们只需要将这个目录......
  • Redis部署-集群
    基本原理Redis集群是一个提供在多个Redis节点间共享数据的程序集,可以支持多个Master。作用支持多个Master,每个Master可以挂载多个Slave,可以支持读写分离、数据的高可用、海量数据的存储支持故障迁移机制,不需要单独的Sentinel节点客户端与Redis的节点连接时,不需要要连接所有......
  • vhr微人事部署
    参考教程https://mp.weixin.qq.com/s/FoNVyAR1BkYfutFq9sjJNQ侵删IDEA打开项目  打开后界面如下  接下来要做一些配置打开mailserver->src->main->resources->application.properties  打开后界面如下  要改成自己的host    未完待续。。。......
  • Nacos集群部署
    Nacos集群部署使用背景在当下微服务时代,微服务治理平台层出不穷。随着Netflix相关包进入了仅维护状态,不进行新性能的开发,导致Eureka逐渐退出主流市场。相比较下Nacos同时支持注册中心和配置中心,Nacos致力于发现、配置和管理微服务。它提供了一组简单易用的特性集,帮助快速实现动......
  • IT发布管理,轻松部署软件
    我们带来了一项令人振奋的好消息,可有效缓解构建的质量相对劣质和发布的速度相对缓慢。ManageEngine卓豪推出了ServiceDeskPlusMSP中的IT发布管理,配备了可视化的工作流程,这是PSA-ITSM解决方案的一部分。有了这个新功能,您可以告别混乱,迎接精简和标准化的发布管理流程。 IT发......
  • Far Sync容灾部署及测试
    前言FarSync都已经出现很多年了,虽然知道这个东西,但一直没有亲自测试过,最近有个项目可能要上这个玩意,于是先在测试环境练练手。一、     环境信息部署FarSyncADG环境,需要提前准备好主、备库环境以及至少一套FarSync用的环境(单机或RAC)。1.     FarSyncHA架构......
  • 绿联DX4600部署新版frp内网穿透
    绿联DX4600部署新版frp内网穿透操作流程(配置流程)1.服务端安装frps2.客户端安装frpc3.验证是否成功操作步骤(配置步骤)一、服务端安装frps1.安装服务端需要一台带有IPV4公网的云服务器。2.云服务器使用1panel面板创建docker2.1.使用ssh工具连接远程服务器,输入以下命令:#根据......
  • python部署项目为什么要用Nginx和uWSGI
    一、测试运行python项目1.1Flask项目说明1:当我们直接用编译器运行Flask项目的时候,会有一个提示:意思就是:这是开发环境的服务器,不能用于生产环境的部署,请使用WSGI的服务器替换1.2Django项目说明2:当我们直接用编译器运行Django项目......