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

shell脚本自动化安装启动各种服务

1、自动化配置dns服务器

 A主机:vim dns.sh #!/bin/bash# 自动化部署dns# 1、下载bind# 2、修改配置文件# vim /etc/named.conf # listen-on port 53 { 127.0.0.1;any; };   修改(定位替换)# allow-query     { localhost;any; };     修改(定位替换)# vim /etc/named.rfc1912.zones  (最后追加)# zone "baibai.com" IN {#        type master;#        file "baibai.com.zone";#        allow-update { none; };#};# 3、创建zone文件# cd /var/named/# cp -p named.localhost baibai.com.zone# 4、修改zone文件# vim baibai.com.zone # www     A       10.0.0.100      (最后追加)# 5、重启服务# systemctl restart namedyum -y install bindsed -i '/listen-on/ s/127.0.0.1;/127.0.0.1;any;/' /etc/named.confsed -i '/allow-query/ s/localhost;/localhost;any;/' /etc/named.confsed -i '$a zone "a.com" IN {' /etc/named.rfc1912.zonessed -i '$a        type master;' /etc/named.rfc1912.zonessed -i '$a        file "a.com.zone";' /etc/named.rfc1912.zonessed -i '$a        allow-update { none; };' /etc/named.rfc1912.zonessed -i '$a };' /etc/named.rfc1912.zonescd /var/named/cp -p named.localhost a.com.zonesed -i '$a www     A       10.0.0.100'   /var/named/a.com.zonesystemctl restart namedsh dns.shB主机:vim dnscs.sh #!/bin/bash#测试机测试dnsyum -y install bind-utilsecho "nameserevr 10.0.0.12" > /etc/resolv.confnslookup www.a.comsh dnscs.sh

2、自动化配置rsync服务

 A主机:ssh-keygen ssh-copy-id vim rsync.sh#!/bin/bash# 自动化部署rsync# 先自己做免密# 1、下载rsync和inotify-tools软件  yum -y install rsync inotify-tools# 2、创建共享目录与共享文件   mkdir rsync   touch rsync/file{0..4}# 3、修改配置文件 vim /etc/rsyncd.conf  (最后面追加)# [app]# path=/root/rsync/     //项目路径# log file=/var/log/rsync.log   //项目日志文件路径# 4、重启rsync服务   systemctl restart rsyncd# 5、写一个监控脚本   先创建一个文件  touch inotify.sh  vim inotify.sh  (直接最后追加插入)# #!/bin/bash# /usr/bin/inotifywait -mrq -e modify,delete,create,attrib,move /root/rsync | while read events# do#    rsync -av --delete /root/rsync root@10.0.0.20:/tmp/#    echo "`date +%F\ %T`出现事件$events" >> /var/log/rsync.log 2>&1# done# 6、为脚本添加执行权限   chmod +x inotify.sh # 7、执行监控脚本并放入后台  nohup ./inotify.sh &yum -y install rsyncyum -y install inotify-toolsmkdir rsynctouch rsync/file{0..4}sed -i '$a [app]' /etc/rsyncd.confsed -i '$a path=/root/rsync/' /etc/rsyncd.confsed -i '$a log file=/var/log/rsync.log'  /etc/rsyncd.confsystemctl restart rsyncdtouch inotify.shecho "#" > /root/inotify.shsed -i '$a #!/bin/bash' /root/inotify.shsed -i '$a /usr/bin/inotifywait -mrq -e modify,delete,create,attrib,move /root/rsync | while read  events' /root/inotify.shsed -i '$a do' /root/inotify.shsed -i '$a rsync -av --delete /root/rsync root@10.0.0.11:/tmp/' /root/inotify.shsed -i '$a done'sed -i '1d' /root/inotify.shchmod +x inotify.shnohup ./inotify.sh &sh rsync.shB主机:测试机测试rm -rf /tmp/*ls /tmp/A主机:touch /root/rsync/file5B主机:测试机测试ls /tmp/

3、自动化配置FTP服务

 A主机:vim ftp.sh#!/bin/bash# 1、下载vsftpd软件包   yum -y install vsftpd# 2、开启vsftpd服务    systemctl start vsftpd# 3、修改vsftpd配置文件    vim /etc/vsftpd/vsftpd.conf   (查找修改)# anonymous_enable=NO       //不允许匿名访问# local_root=/data/kehu       //指定用户存放文件的路径# chroot_local_user=YES       //限定目录# chroot_list_enable=YES    //开启用户列表文件# chroot_list_file=/etc/vsftpd/chroot_list    //指定用户列表文件# 4、重启vsftpd服务     systemctl restart vsftpd# 5、创建用户    useradd kehu# 6、设置用户密码    echo kehu | passwd --stdin kehu# 7、创建存放目录    mkdir -p /data/kehu/# 8、为用户赋予所有权限    setfacl -R -m u:kehu:rwx /data/kehu/# 9、将用户放入用户列表文件中,表示不被禁锢    echo kehu >> /etc/vsftpd/chroot_listyum -y install vsftpdsystemctl start vsftpdsed -i '/anonymous_enable/ s/YES/NO/' /etc/vsftpd/vsftpd.confsed -i '/anonymous_enable/ a local_root=/data/kehu' /etc/vsftpd/vsftpd.confsed -i '/chroot_local_user=YES/ s/#//' /etc/vsftpd/vsftpd.confsed -i '/chroot_list_enable=YES/ s/#//' /etc/vsftpd/vsftpd.confsed -i '/chroot_list_file/ s/#//' /etc/vsftpd/vsftpd.confuseradd kehuecho kehu | passwd --stdin kehumkdir -p /data/kehu/setfacl -R -m u:kehu:rwx /data/kehu/echo kehu >> /etc/vsftpd/chroot_listsystemctl restart vsftpdsh ftp.shB主机:测试机测试yum -y install ftpftp 10.0.0.10kehukehu

4、自动化配置frp的服务器端与客户端

 A主机:vim frp.sh#!/bin/bash# 1、确保本机中有软件包  frp_0.33.0_linux_amd64.tar.gz# 2、解压软件包 tar -zxvf frp_0.33.0_linux_amd64.tar.gz# 3、切换到解压后的目录中   cd frp_0.33.0_linux_amd64/# 4、修改配置文件   vim frps.ini   (全部追加)# dashboard_user=aaa# dashboard_pwd=aaa# dashboard_port=7500# 5、启动frp服务    ./frps -c frps.ini  tar -zxf frp_0.33.0_linux_amd64.tar.gzcd frp_0.33.0_linux_amd64/sed -i '$a dashboard_user=aaa' frps.inised -i '$a dashboard_pwd=aaa' frps.inised -i '$a dashboard_port=7500' frps.ini./frps -c frps.inish frp.shB主机:vim frpcs.sh#!/bin/bash# 测试机测试frp服务器# 1、解压软件包# 2、切换到目录中# 3、修改配置文件  vim frpc.ini# [common]# server_addr = 10.0.0.20# server_port = 7000# [lijiaqi]# type = tcp# local_ip = 127.0.0.1# local_port = 22# remote_port = 6064# 4、启动frp客户端服务 ./frpc -c frpc.initar -zxf frp_0.33.0_linux_amd64.tar.gzcd frp_0.33.0_linux_amd64sed -i '/server_addr/ s/127.0.0.1/10.0.0.10/' frpc.inised -i '/[ssh]/ s/ssh/baibai/' frpc.inised -i '/remote_port/ s/6000/6035/' frpc.ini./frpc -c frpc.inish frpcs.sh

5、自动化配置samba共享

 A主机:vim samba.sh#!/bin/bash# 自动化配置samba共享# 1、下载samba软件   yum -y install samba# 2、修改samba配置文件  vim /etc/samba/smb.conf   (直接最后追加)# [smb_share]     //这是共享的名称,客户端在访问时会看到这个名称。#     comment = samba service    //这是对该共享的注释说明,用于提供一些描述信息,这里说明是“Samba 服务”#     path = /samba         //指定了实际共享的目录路径为`/bakpu`#     guest ok = no         //表示不允许访客访问,只有经过授权的用户才能访问#     writable = yes        //表示允许对该共享目录进行写入操作# 3、创建共享目录   mkdir  /samba# 4、添加samba用户    useradd user01# 5、为用户设置密码   smbpasswd -a user01# 6、为用户赋予所有权限   setfacl -m u:user01:rwx /bakpu/*# 7、启动nmb服务  systemctl start nmb.service# 8、启动smb服务   systemctl start smb.service yum -y install sambased -i '$a [smb_share]' /etc/samba/smb.confsed -i '$a comment = samba service' /etc/samba/smb.confsed -i '$a path = /samba' /etc/samba/smb.confsed -i '$a guest ok = no' /etc/samba/smb.confsed -i '$a writable = yes' /etc/samba/smb.confmkdir /sambauseradd user01echo "现在请您输入你想要设置的账户密码:"smbpasswd -a user01setfacl -m u:user01:rwx /samba/systemctl start nmb.servicesystemctl start smb.serviceB主机:测试机测试1、直接windows测试(直接映射)2、linux主机测试yum -y install samba-clientsmbclient //10.0.0.10/smb_share -U user01

6、自动化配置yum仓库初始化(包括阿里云和epel)

 A主机:vim yum.sh#!/bin/bash# 自动化配置yum仓库初始化(包括阿里云和epel)# 1、搭建本地仓库 # tar -cf /etc/yum.repos.d/yum.repo.tar /etc/yum.repos.d/*# rm -rf /etc/yum.repos.d/*# vim /etc/yum.repos.d/hh.repo# [hh]# name=hh# baseurl=file:///mnt# gpgcheck=0# enable=1# mount /dev/cdrom /mnt# 2、下载wget软件  yum -y install wget# 3、在阿里云官网wget下载阿里云镜像 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo# 4、下载epel,创建epel仓库   yum -y install epel-release.noarch# 5、清除缓存  yum clean all  创建缓存 yum makecachetar -cf /etc/yum.repos.d/yum.repo.tar /etc/yum.repos.d/*rm -rf /etc/yum.repos.d/*echo "#" > /etc/yum.repos.d/hh.reposed -i '$a [hh]' /etc/yum.repos.d/hh.repo               sed -i '$a name=hh' /etc/yum.repos.d/hh.reposed -i '$a baseurl=file:///mnt' /etc/yum.repos.d/hh.repo               sed -i '$a gpgcheck=0' /etc/yum.repos.d/hh.repo               sed -i '$a enable=1' /etc/yum.repos.d/hh.repo               sed -i '1d' /etc/yum.repos.d/hh.repoyum -y install wgetwget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repoyum -y install epel-release.noarchyum clean allyum makecache

7、自动化配置nfs服务

 A主机:vim nfs.sh#!/bin/bash# 自动化配置nfs服务# 1、下载nfs软件与依赖软件 yum -y install nfs-utils.x86_64 rpcbind.x86_64# 2、创建共享目录  mkdir /nfsshare# 3、编辑配置文件指定要暴露的目录  vim /etc/exports (这是个新文件,直接追加最后)# /nfsshare   *(rw,sync)yum -y install nfs-utils.x86_64 rpcbind.x86_64mkdir /nfsshareecho "#" > /etc/exportssed -i '$a /nfsshare  *(rw,sync)' /etc/exportssed -i '1d' /etc/exportssystemctl start nfs-serversh nfs.shB主机:测试机测试yum -y install nfs-utils.x86_64mkdir /nfsmount -t nfs 10.0.0.10:/nfsshare /nfsls /nfs

8、自动化配置ntp服务

 A主机:vim ntp.sh #!/bin/bash# 自动化配置ntp服务# 1、下载ntp软件    yum -y install ntp.x86_64# 2、修改ntp配置文件   vim /etc/ntp.conf# 15行加入   restrict 10.0.0.0 mask 255.255.255.0   //允许10.0.0.0网段的主机访问# 3、与官方时间服务器同步时间  ntpdate cn.ntp.org.cn# 4、启动ntp服务  systemctl start ntpd# 5、编辑计划任务定时同步时间  crontab -e # * 4 * * * /usr/sbin/ntpdate cn.ntp.org.cnyum -y install ntp.x86_64sed -i '/restrict ::1/a restrict 10.0.0.0 mask 255.255.255.0' /etc/ntp.confntpdate cn.ntp.org.cnsystemctl start ntpdecho "您现在可以编辑一个定时任务用于定时向官方时间服务器同步时间,以防止您当前的时间服务器时间错误"echo "你可以输入以下命令来编辑一个定时任务"echo "1、crontab -e"echo "2、* 4 * * * /usr/sbin/ntpdate cn.ntp.org.cn"echo "该命令为每到4点时就进行一次时间同步"sh ntp.shB主机:测试机测试datedate -s "2014-07-28 00:00"ntpdate 10.0.0.10date

相关文章:

shell脚本自动化安装启动各种服务

1、自动化配置dns服务器 A主机:vim dns.sh #!/bin/bash# 自动化部署dns# 1、下载bind# 2、修改配置文件# vim /etc/named.conf # listen-on port 53 { 127.0.0.1;any; }; 修改(定位替换)# allow-query { localhost;any; }; 修改&am…...

Python - 开源库 ReportLab 库合并 CVS 和图像生成 PDF 文档

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/140281680 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Report…...

Java编写SIP协议

1、编写Server代码 package com.genersoft.iot.vmp.sip; import javax.sip.*; import javax.sip.message.*; import javax.sip.header.*; import java.util.*;public class SimpleSipServer implements SipListener {private SipFactory sipFactory;private SipStack sipStack…...

大型语言模型LLM的核心概念

本文主要介绍了目前主流的,几个大型语言模型LLM的整个训练过程 通常分为下面的几个阶段 1. 预训练 采用互联网上的大量数据进行训练,这一阶段大模型LLM的主体已定,找出共性并且压缩成一个模型。模型的参数量不是越大越好,遵循合理…...

软件测试---网络基础、HTTP

一、网络基础 (1)Web和网络知识 网络基础TCP/IP 使用HTTP协议访问Web WWW万维网的诞生 WWW万维网的构成 (2)IP协议 (3)可靠传输的TCP和三次握手策略 (4)域名解析服务DNS &#xff0…...

韩顺平0基础学java——第39天

p820-841 jdbc和连接池 1.JDBC为访问不同的数据库提供了统一的接口,为使用者屏蔽了细节问题。 2.Java程序员使用JDBC,可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作。 3.jdbc原理图 JDBC带来的好处 2.JDBC带来的…...

Linux文件恢复

很麻烦 一般还是小心最好 特别恢复的时候 可能不能选择某个文件夹去扫描恢复 所以 删除的时候 用rm -i代替rm 一定小心 以及 探索下linux的垃圾箱机制 注意 一定要恢复到不同文件夹 省的出问题 法1 系统自带工具 debugfs 但是好像不能重启? testdisk 1、安装 …...

大数据的数据质量有效提升的研究

大数据的数据质量有效提升是一个涉及多个环节和维度的复杂过程。以下是从数据采集、处理、管理到应用等方面,对大数据数据质量有效提升的研究概述: 一、数据采集阶段 明确采集需求:在数据采集前,需明确数据需求,包括…...

Flink-CDC解析(第47天)

前言 本文主要概述了Flink-CDC. 1. CDC 概述 1.1 什么是CDC? CDC是(Change Data Capture 变更数据获取)的简称 ,在广义的概念上,只要是能捕获数据变更的技术,都可以称之为 CDC。 核心思想是&#xff0c…...

二阶段测试

二阶段测试 1、部署框架前准备工作 服务器类型部署组件ip地址DR1调度服务器 主(ha01)KeepalivedLVS-DR192.168.168.21DR2调度服务器 备 (ha02)KeepalivedLVS-DR192.168.168.22web1节点服务器 (slave01)NginxTomcatMySQL 备MHA managerMHA node192.168.1…...

CSP-J模拟赛day1——解析+答案

题目传送门 yjq的吉祥数 题解 送分题&#xff0c;暴力枚举即可 Code #include<bits/stdc.h> using namespace std;int l,r; int num1,tmp0,q[10000],a[10000]; int k (int x){for (int j1;j<tmp;j){if (xq[j])return 0;}return 1; } int main(){while (num<100…...

【PostgreSQL案例】我要查的表没有在执行计划中

问题&#xff1a;查的表没有在执行计划中 sql&#xff1a; SELECT* FROM(SELECTA.column1 as "column1",--中间省略很多A字段A.column99 as "column99"fromtable_a Aleft join (SELECTlzl_idfromtable_a AAinner join table_b BB ON AA.lzl_key BB.lzl_…...

《程序猿入职必会(5) · CURD 页面细节规范 》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…...

操作系统面试知识点总结5

#来自ウルトラマンメビウス&#xff08;梦比优斯&#xff09; 1 IO管理概述 1.1 I/O 设备 I/O 设备的类型分类。 1.1.1 按使用特性 人机交互类外部设备&#xff0c;例如打印机、显示器等。存储设备&#xff0c;例如磁盘、光盘等。网络通信设备&#xff0c;例如网络接口等。 1…...

BigInteger和BigDecimal类

一、应用场景 1. BigInteger 类 目前&#xff0c;我们学过最大的是long类型&#xff0c;但是&#xff0c;在实际开发时候&#xff0c;很有可能遇见超出long类型范围的数&#xff0c;我们就需要用BigInteger类&#xff1b; ① add 加 ② subtract 减 ③ multiply 乘…...

2024最新Uniapp的H5网页版添加谷歌授权验证

现在教程不少&#xff0c;但是自从谷歌升级验证之后&#xff0c;以前的老教程就失效了&#xff0c;现在写一个新教程以备不时之需。 由于众所周知的特殊原因&#xff0c;开发的时候一定注意网络环境&#xff0c;如果没有梯子是无法进行开发的哦~ clientID的申请方式我就不再进…...

学习java第一百四十四天

Spring通知有哪些类型&#xff1f; 在AOP术语中&#xff0c;切面的工作被称为通知。通知实际上是程序运行时要通过Spring AOP框架来触发的代码段。 Spring切面可以应用5种类型的通知&#xff1a; 前置通知&#xff08;Before&#xff09;&#xff1a;在目标方法被调用之前调用通…...

Meta 发布 Llama3.1,一站教你如何推理、微调、部署大模型

最近这一两周看到不少互联网公司都已经开始秋招提前批了。不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c;帮助一些球友解…...

XSSFWorkbook 和 SXSSFWorkbook 的区别

在现代办公环境中&#xff0c;处理 Excel 文件是一个常见的任务。Apache POI 是一个流行的 Java 库&#xff0c;能够读写 Microsoft Office 文档。对于处理 Excel 文件&#xff0c;Apache POI 提供了 XSSFWorkbook 和 SXSSFWorkbook 两个类。本文将详细介绍这两个类的特点和适用…...

会议主题:NICE Seminar|神经组合优化方法的大规模泛化研究(南方科技大学王振坤副研究员)

数据增强 获得更多解 TSP问题 最优解与序列无关&#xff0c;数据增强 ICML 2024 Position Rethinking Post-Hoc Search-Based Neural Approaches for Solving Large-Scale Traveling Salesman Problems...

昇思25天学习打卡营第22天|CycleGAN图像风格迁移互换

相关知识 CycleGAN 循环生成网络&#xff0c;实现了在没有配对示例的情况下将图像从源域X转换到目标域Y的方法&#xff0c;应用于域迁移&#xff0c;也就是图像风格迁移。上章介绍了可以完成图像翻译任务的Pix2Pix&#xff0c;但是Pix2Pix的数据必须是成对的。CycleGAN中只需…...

《Java初阶数据结构》----6.<优先级队列之PriorityQueue底层:堆>

前言 大家好&#xff0c;我目前在学习java。之前也学了一段时间&#xff0c;但是没有发布博客。时间过的真的很快。我会利用好这个暑假&#xff0c;来复习之前学过的内容&#xff0c;并整理好之前写过的博客进行发布。如果博客中有错误或者没有读懂的地方。热烈欢迎大家在评论区…...

Matrix Equation(高斯线性异或消元+bitset优化)

题目&#xff1a; 登录—专业IT笔试面试备考平台_牛客网 思路&#xff1a; 我们发现对于矩阵C可以一列一列求。 mod2&#xff0c;当这一行相乘1的个数为奇数时&#xff0c;z(i,j)为1&#xff0c;偶数为0&#xff0c;是异或消元。 对于b[i&#xff0c;j]*c[i,j],b[i,j]可以…...

【一图学技术】2.API测试9种方法图解

9种API测试方法 冒烟测试&#xff1a;冒烟测试是一种快速的表面级测试&#xff0c;用于验证软件的基本功能是否正常工作&#xff0c;以确定是否值得进行更详细的测试。功能测试&#xff1a;功能测试是验证软件是否符合预期功能要求的测试类型。它涉及对每个功能进行测试&#…...

力扣刷题----42. 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图&#xf…...

【论文精读】 | 基于图表示的视频抑郁症识别的两阶段时间建模框架

文章目录 0、Description1、Introduction2、Related work2.1 Relationship between depression and facial behaviours2.2 Video-based automatic depression analysis2.3 Facial graph representation 3、The proposed two-stage approach3.1 Short-term depressive behaviour…...

采集PCM,将base64片段转换为wav音频文件

需求 开始录音——监听录音数据——结束录音 在监听录音数据过程中&#xff1a;客户端每100ms给前端传输一次数据&#xff08;pcm数据转成base64&#xff09;&#xff0c;前端需要将base64片段解码、合并、添加WAV头、转成File、上传到 OSS之后将 url 给到服务端处理。 {num…...

eclipse ui bug

eclipse ui bug界面缺陷&#xff0c;可能项目过多&#xff0c;特别maven项目过多&#xff0c;下载&#xff0c;自动编译&#xff0c;加载更新界面异常 所有窗口死活Restore不回去了 1&#xff09;尝试创建项目&#xff0c;还原界面&#xff0c;失败 2&#xff09;关闭所有窗口&…...

前端获取blob文件格式的两种格式

第一种,后台传递给前台是base64格式的JSON数据 这时候前台拿到base64格式的数据可以通过内置的atob解码方法结合new Uint8Array和new Blob方法转换成blob类型的数据格式,然后可以使用blob数据格式进行操作,虽然base64转换成blob要经过很多步骤,但幸运的是这些步骤都是固定的,因…...

向日葵RCE复现(CNVD-2022-10270/CNVD-2022-03672)

一、环境 1.1 网上下载低版本的向日葵<2022 二、开始复现 2.1 在目标主机上打开旧版向日葵 2.2 首先打开nmap扫描向日葵主机端口 2.3 在浏览器中访问ip端口号cgi-bin/rpc?actionverify-haras &#xff08;端口号&#xff1a;每一个都尝试&#xff0c;直到获取到session值…...