当前位置: 首页 > 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...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...