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

使用ssh免密登录实现自动化部署rsync+nfs+lsync(脚本)

单机一键部署ssh+rsync+nfs+lsync

执行准备

主机信息

主机角色外网IP内网IP主机名
nfs、lsync10.0.0.31176.16.1.31nfs
客户端10.0.0.7176.16.1.7web01
rsync、nfs10.0.0.41172.16.1.41backup

秘钥信息

#web01可以免密连接nfs和backup
[root@web01 ~]# ssh-keygen
[root@web01 ~]# ssh-copy-id 172.16.1.31
[root@web01 ~]# ssh-copy-id 172.16.1.41
#远程免密登录测试
#一定要测

脚本文件rnl.sh

创建文件

#创建脚本文件并编辑
[root@web01 ~]# vim rnl.sh

编写文件

#使用web01为backup服务器远程部署rsync服务
ssh 172.16.1.41 '
yum install -y rsync &> /dev/null
cat > /etc/rsyncd.conf <<EOF
uid = rsync
gid = rsync
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[code]
path = /code
[img]
path = /img
EOFgroupadd -g 666 rsync
useradd -g 666 -u 666  -M -s /sbin/nologin rsync
echo rsync_backup:123 > /etc/rsync.passwd
chmod 600 /etc/rsync.passwd 
mkdir /code /img
chown rsync.rsync /code /img
systemctl start rsyncd &> /dev/null
systemctl enable  rsyncd &> /dev/null
exit
' &> /dev/null
echo '已成功为backup(172.16.1.41)部署rsync服务,共两个模块:[code]和[img]'
echo '--------------------------------------------------------------'ssh 172.16.1.31 '
#使用web01为nfs服务器部署nfs服务
yum install -y nfs-utils &> /dev/null
cat > /etc/exports<<EOF
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
EOFgroupadd -g 666 rsync
useradd -g 666 -u 666  -M -s /sbin/nologin rsync
mkdir /data
chown rsync.rsync /data/
systemctl start nfs &> /dev/null
systemctl enable nfs &> /dev/null
exit
'  &> /dev/null
echo '已成功为NFS(172.16.1.31)部署nfs服务,共享目录为/data'
echo '--------------------------------------------------------------'ssh 172.16.1.31 '
#使用web01为nfs服务器部署lsync服务
yum install -y lsyncd &> /dev/null
cat > /etc/lsyncd.conf<<EOF
settings {logfile = "/var/log/lsyncd/lsyncd.log",statusFile = "/var/log/lsyncd/lsyncd.status",maxProcesses = 2,nodaemon = false,
}
sync {default.rsync,source = "/data",target = "rsync_backup@172.16.1.41::img",delete = true,delay = 1,rsync = {binary = "/usr/bin/rsync",password_file = "/etc/rsyncd.pwd",archive = true,compress = true,}
}
EOFecho 123 > /etc/rsyncd.pwd
chmod 600 /etc/rsyncd.pwd
systemctl start lsyncd &> /dev/null
systemctl enable lsyncd &> /dev/null
exit
'  &> /dev/null
echo '已成功为NFS(172.16.1.31)部署lsync服务,监控目录为本机的/data'
echo '若/data发生变化将会发送给172.16.1.41的/img目录'
echo '--------------------------------------------------------------'#web01本机挂载共享目录/data
mkdir /imag
mount -t nfs 172.16.1.31:/data /imag
echo '已成功挂载172.16.1.31:/data目录于本机的/imag目录'
echo '--------------------------------------------------------------'
echo '****rsync+nfs+lsync 服务部署完成,进行测试吧!****'

执行文件

[root@web01 ~]# sh 1.sh 
已成功为172.16.1.41部署rsync服务,共两个模块:code和img
已成功为172.16.1.31部署nfs服务,共享目录为/data
已成功为172.16.1.31部署lsync服务,监控目录为/data,发生变化将会发送给172.16.1.41的/img目录
已成功挂载172.16.1.31:/data目录于本机的/imag目录
rsync+nfs+lsync 服务部署完成,进行测试吧!

测试服务

#在web01中的imag目录中创建文件
[root@web01 ~]# touch /imag/shell.txt
[root@web01 ~]# ll /imag/shell.txt 
-rw-r--r-- 1 666 666 0 Dec  5 20:30 /imag/shell.txt
#查看nfs中/data下文件是否存在
[root@nfs ~]# ll /data/
-rw-r--r-- 1 rsync rsync 0 Dec  5 20:30 shell.txt
#查看backup中模块img的/img目录下文件是否存在
[root@backup ~]# ll /img/
-rw-r--r-- 1 rsync rsync 0 Dec  5 20:30 shell.txt

解决单点故障脚本nfs.sh

使用web01为backup服务器部署nfs服务并监控故障

脚本文件

vim nfs.sh

编写脚本

ssh 172.16.1.41 '
yum install -y nfs-utils &> /dev/null
cat > /etc/exports << EOF
/img 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
EOFsystemctl start nfs
systemctl enable  nfs
exit
'#编写监控脚本
cat >> /neterror.sh << EOF 
#!/bin/bash
ping -c1 -W1 172.16.1.31 &>/dev/null #或者使用
#showmount -e 172.16.1.31 &>/dev/null
if [ $? -ne 0 ];then
umount -lf /imag &>/dev/null &
sleep 2
umount -lf /imag &>/dev/null
mount -t nfs 172.16.1.41:/img /imag
fi
EOF#编写监控脚本的定时任务
cat >> /etc/crontab <<EOF
01 * * * *  root 	sh /neterror.sh
EOF

相关文章:

使用ssh免密登录实现自动化部署rsync+nfs+lsync(脚本)

单机一键部署sshrsyncnfslsync 执行准备 主机信息 主机角色外网IP内网IP主机名nfs、lsync10.0.0.31176.16.1.31nfs客户端10.0.0.7176.16.1.7web01rsync、nfs10.0.0.41172.16.1.41backup 秘钥信息 #web01可以免密连接nfs和backup [rootweb01 ~]# ssh-keygen [rootweb01 ~]#…...

若依集成更好用的easyexcel

背景 若依使用的是apach poi并在此基础上进行封装apach poi的原生的api是很复杂的&#xff0c;若依简化了了此操作apach poi的上传速率和下载速率都是没有优化的&#xff0c;依赖于文件大小的限制在此前提下&#xff0c;如果没法满足客户的需求&#xff08;超大型文件的上传&am…...

去除背景 学习笔记

目录 rembg rembg 安装&#xff1a; pip install rembg import os from glob import glob from rembg import remove from argparse import ArgumentParser from PIL import Image if __name__ __main__:parser ArgumentParser()parser.add_argument(--path, typestr, re…...

我们来学mysql -- 隔离级别简介(原理篇)

隔离级别 别记题记隔离级别后记系列文章 别记 烧香拜佛要是有用&#xff0c;还需要我们来过吗…从个人情感角度&#xff0c;巴沙尔阿萨德 辜负了东大对他的期望他可是从正门踏进了灵隐寺 俄乌战争即将进入第三年&#xff08;此时202412&#xff09;此时的加沙正成为以色列建国…...

机器学习(4)Kmeans算法

1、简述聚类分析的重要性及其在机器学习中的应用   聚类分析&#xff0c;作为机器学习领域中的一种无监督学习方法&#xff0c;在数据探索与知识发现过程中扮演着举足轻重的角色。它能够在没有先验知识或标签信息的情况下&#xff0c;通过挖掘数据中的内在结构和规律&#xf…...

Oracle之表空间迁移

问题背景&#xff1a;一个数据表随着时间的累积&#xff0c;导致所在表空间占用很高&#xff0c;里面历史数据可以清除&#xff0c;保留近2个月数据即可 首先通过delete删除了2个月以前的数据。 按网上的教程进行空间压缩&#xff0c;以下sql在表所在用户执行: -- 允许表重新…...

域渗透入门靶机之HTB-Cicada

easy难度的windows靶机 信息收集 端口探测 nmap -sT --min-rate 10000 -p- 10.10.11.35 -oA ./port 发现开放了53&#xff0c;88&#xff0c;389等端口&#xff0c;推测为域控 进一步信息收集&#xff0c;对爆破的端口进行更加详细的扫描 小tips&#xff1a;对于众多的端口&…...

ue5 motion matching

ue5.5 gameanimationsample 先看动画蓝图 核心两个node 第一个是根据数据选择当前的pose 第二个是缓存一段历史记录&#xff0c;为第一个node选择的时候提供数据。 在animinstance的update方法中 每帧都更新这个函数&#xff0c;每帧更新trajectory的数据 看看第一个node的…...

【从零开始的LeetCode-算法】383. 赎金信

给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以&#xff0c;返回 true &#xff1b;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1&#xff1a; 输入&#…...

记录模板学习(持续更新)

目的&#xff1a; 学习C模板的编写&#xff0c;使用模板类包装一个可调用对象 可调用对象包括&#xff1a;普通函数&#xff0c; lambda表达式&#xff0c; 类成员函数 可以参考到QtConcurrent::run的实现&#xff0c;可以看到这个函数有非常多重载&#xff0c;其中可以接受类…...

Android hid 数据传输(device 端 )

最近一直在处理hid 数据需求&#xff0c;简而言之就是两台设备直接可以通过usb 线互相传递数据。 项目架构 为什么Device 端要采用HID&#xff08;人机接口设备&#xff09;的方式发送和接收数据呢&#xff1f; 主要是速度快&#xff0c;举个例子&#xff0c;就是鼠标移动&am…...

MaxEnt模型在物种分布模拟中如何应用?R语言+MaxEnt模型融合物种分布模拟、参数优化方法、结果分析制图与论文写作

目录 第一章 以问题导入的方式&#xff0c;深入掌握原理基础 第二章 常用数据检索与R语言自动化下载及可视化方法 第三章 R语言数据清洗与特征变量筛选 第四章 基于ArcGIS、R数据处理与进阶 第五章 基于Maxent的物种分布建模与预测 第六章 基于R语言的模型参数优化 第七…...

第3章:文本样式 --[CSS零基础入门]

CSS(层叠样式表)允许你以多种方式定制文本的外观。以下是一些常用的文本和字体相关的CSS属性: 1.字体 字体系列 当然,下面是两个使用不同字体系列的CSS示例。每个示例都展示了如何指定一个字体系列,并提供备用字体以确保在用户的系统中找不到首选字体时仍有合适的字体可…...

mysql 架构详解

MySQL的架构可以自顶向下分为多个层次&#xff0c;每个层次都有其特定的功能和组件。以下是对MySQL架构的详细解析&#xff1a; 一、整体架构概述 MySQL的整体架构包括MySQL Connectors&#xff08;连接器&#xff09;、MySQL Shell、连接层、服务层、存储引擎层和文件系统层…...

无代码探索AI大模型:腾讯云函数计算的卓越实践

在数字化转型的浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;技术已经成为企业提升竞争力的关键。然而&#xff0c;对于许多业务人员来说&#xff0c;技术门槛高、开发周期长等问题限制了他们快速探索和应用AI大模型的能力。同时&#xff0c;对于缺乏GPU资源的开发者来…...

解决Ubuntu在VMware关机时,老是一个光标在那里闪动几分钟,才能关机的问题

把强制关机的等待时间缩短即可。 编辑 /etc/systemd/system.conf 文件 sudo gedit /etc/systemd/system.conf把 #DefaultTimeoutStartSec90s修改为 #DefaultTimeoutStartSec10s改完之后重载一下&#xff1a; sudo systemctl daemon-reload然后关机再试一下&#xff0c;这样…...

word poi-tl 图表功能增强,插入图表折线图、柱状图、饼状图

目录 问题解决问题poi-tl介绍 功能实现引入依赖功能介绍 功能实例饼图模版代码效果图 雷达图&#xff08;模版同饼图&#xff09;代码效果图 柱状图&#xff08;模版同饼图&#xff09;代码效果图 附加CustomCharts 工具类CustomChartSingleSeriesRenderData 数据对象CustomCha…...

常见网络钓鱼类型

网络钓鱼是一种网络攻击&#xff0c;是指具有恶意动机的攻击者伪装欺骗人们并收集用户名或密码等敏感信息的一系列行为。由于网络钓鱼涉及心理操纵并依赖于人为失误(而不是硬件或软件漏洞)&#xff0c;因此被认定为是一种社会工程攻击。 1. 普通网络钓鱼&#xff08;群攻&…...

数字图像处理考研考点(持续更新)

一、数字图像基本概念 1、人眼视觉特性 &#xff08;1&#xff09;眼睛上有两类光感受器&#xff1a;锥状体和杆状体 锥状体(锥细胞)&#xff1a;约 700 万个&#xff0c;对颜色高度敏感&#xff0c;每个锥状体都连接到神经末梢&#xff0c;人可以充分地分辨图像细节。锥细胞…...

Spring Cloud Alibaba:一站式微服务解决方案

Spring Cloud Alibaba介绍 在当今的软件开发领域&#xff0c;微服务架构因其灵活性、可扩展性和独立性等优势而备受青睐。Spring Cloud Alibaba 作为一款强大的一站式微服务解决方案&#xff0c;为开发者提供了丰富的工具和组件&#xff0c;帮助他们轻松构建和管理复杂的微服务…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...