
Shell自动化运维
Shell脚本实现自动化运维
--山海--
所爱隔山海,山海皆可平
展开
-
Linux技术---部署PXE服务器实现批量安装操作系统
PXE 的全称是preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统原创 2024-05-11 17:52:20 · 1275 阅读 · 0 评论 -
Shell脚本---Find、Grep和Xargs的使用
公司每天都会定时打包出备份包,按照要求,日备份保留三天备份包,月备保留一个备份包。现要写一个shell脚本实现日备保留三天备份包功能。原创 2023-04-23 14:29:26 · 395 阅读 · 1 评论 -
Shell脚本-Gitlab代码库备份
Shell脚本—Gitlab代码库备份应公司要求,需每月对代码库进行备份刻录光盘进行保存,故想到写一个自动备份的脚本,并通过邮件进行通知。因公司gitlab代码库是通过docker进行启动,故备份需对代码库和docker镜像同步进行备份,备份脚本内容如下#!/usr/bin/bash## gitlab backup## by shanhaigitlab_docker_id=`docker ps | grep gitlab-ce | awk '{print $1}'`gitlab_image_i原创 2021-09-06 10:37:53 · 396 阅读 · 0 评论 -
Shell脚本-版本库备份
Shell脚本—版本库文件夹备份应公司要求,需要每月对版本库,scm文件夹下的文件进行全量备份并在备份结束后,发送内网邮件进行通知,故想到写一个shell脚本,进行每月自动备份。备份脚本如下#!/usr/bin/bash## samba scm backup## by shanhaifile_name=scm_backup_`date +%F`.tar.gzsorce_file=/home/gbase/app/samba/mountdestination_file=/data/scm_bac原创 2021-09-06 10:15:00 · 189 阅读 · 0 评论 -
Shell脚本-KVM虚拟机模块化安装与管理
KVM模块化安装与管理#!/bin/bash##kvm管理脚本##ShanHai#source加载模块脚本source /shanhai/install-virtualhost.sh #创建一个全新虚拟机的模块脚本source /shanhai/mod.sh #使用虚拟机模板快速创建新虚拟机的模块脚本source /shanhai/disk.sh #添加硬盘的模块脚本source /shanhai/net.sh #添加网卡的模块脚本source /shanhai/snap.sh #创建快原创 2021-03-29 16:41:11 · 5745 阅读 · 10 评论 -
Shell脚本-KVM虚拟机添加(删除)硬件
KVM虚拟添加硬件#!/bin/bash##硬件添加##ShanHai#查看当前存在哪些虚拟机virsh list --allread -p "请输入想要添加硬件的虚拟机:" vm_name#添加虚拟硬盘disk_add(){ for i in {a..z} do virsh domblklist ${vm_name} | grep "^vd${i}" if [ $? -ne 0 ];then break原创 2021-03-27 20:37:19 · 377 阅读 · 0 评论 -
Shell脚本-Tomcat构建企业级高负载WEB服务器
Tomcat构建企业级高负载WEB服务器#!/usr/bin/bash##Tomcat##ShanHaienv_install(){ echo "进行基础环境配置" yum -y install net-tools lrzsz tree unzip mariadb-server mariadb &>/dev/null systemctl stop firewalld setenforce 0 &>/dev/null unzip -o 5.tomcat.z原创 2021-03-27 10:05:08 · 210 阅读 · 2 评论 -
Shell脚本-自动化部署jenkins
自动化部署jenkins#!/usr/bin/bash##jenkins##ShanHaigit_install(){ echo "即将部署git,请耐心等待" yum install net-tools make curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y &>/dev/null systemctl stop firewalld set原创 2021-03-27 09:56:00 · 400 阅读 · 1 评论 -
Shell脚本-KVM创建新的虚拟机
KVM创建新的虚拟机#!/usr/bin/bash##MOD##ShanHai#定义变量read -p "请输入创建的新虚拟机名称:" vm_namevm_uuid=`uuidgen`vm_mem=1048576vm_mac=`openssl rand -hex 3 | sed -r 's/..\B/&:/g'`#源镜像路径image=/home/kvm/virtual-img/centos20210326T193020.qcow2#源模板位置mod=/etc/libvir原创 2021-03-26 21:34:30 · 1530 阅读 · 2 评论 -
正则表达式
正则表达式正则表达式(regular expression, RE)是一种字符模式,用于在查找过程中匹配指定的字符。在大多数程序里,正则表达式都被置于两个正斜杠之间;例如/l[oO]ve/就是由正斜杠界定的正则表达式,它将匹配被查找的行中任何位置出现的相同模式。在正则表达式中,#元字符是最重要的概念。 #正则表达式分为:正则表达式基本元字符 正则表达式拓展元字符元字符使正则表达式具有处理能力。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前原创 2021-03-18 09:09:01 · 224 阅读 · 0 评论 -
shell实战-shell版本jumpserver开发(堡垒机)
shell版本jumpserver开发(堡垒机)#!/usr/bin/env bash## Author:#可以先添加上账密验证环节while : do trap ':' INT EXIT TSTP TERM HUP #拒绝ctrl+c以任何方式退出脚本。 clear cat <<-EOF +-------------------------------------+| JumpServer @Version1.0 | +--------原创 2021-03-17 09:10:30 · 344 阅读 · 0 评论 -
shell编程-awk
shell编程之awk一、awk简介awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。可以在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是原创 2021-03-17 09:09:28 · 435 阅读 · 0 评论 -
shell编程-Expect
shell编程-Expect1. expect的安装 --ansible[root@qfedu ~] yum -y install expect实现批量修改密码,批量推送ssh的公钥,进行远程ssh连接,任何批量操作的基本都能处理。2. expect的语法-------通过expect可以实现将交互式的命令变为非交互式执行,不需要人为干预(手动输入)是一个免费的编程工具, 用来实现自动的交互式任务, 而无需人为干预. 说白了 expect 就是一套用来实现自动交互功能的软件在实际工作中我们运行原创 2021-03-17 09:08:58 · 248 阅读 · 0 评论 -
shell编程-sed
shell 编程-SEDsed:stream editor(流编辑器)的缩写是一种在线非交互式编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等非交互式编辑器,一次处理一行内容。支持正则表达式 与grep一样,sed在文件中查找模式时也可以使原创 2021-03-17 09:08:37 · 196 阅读 · 0 评论 -
shell编程-数组
shell 编程-数组什么是数组?数组也是一种变量,常规变量只能保存一个值,数组可以保存多个值#普通数组:只能用整数作为数组的索引--0 下标#关联数组:可以使用字符串作为数组的索引数组定义普通数组定义:[root@linux-server script]# books=( linux shell awk sed ) ---在python中叫列表引用:${array_name[index]} #引用 [root@linux-server script]# echo ${books原创 2021-03-17 09:07:43 · 244 阅读 · 0 评论 -
shell编程-函数
shell 编程-函数function (功能) 功能函数完成特定功能的代码片段函数必须先定义才能使用优点:避免重复的代码定义函数---1.如何定义?调用函数---如何使用,,分为本地调用,通过别的脚本调用函数。取消函数----unset func_name函数传参----和脚本传参类似命名空间:在shell语言中命名空间函数内和函数外(不包括脚本)是一样的,函数内外不能赋值同样名字的变量#变量:如果在同一个命名空间可以用,如果不再同一个命名空间就不能用#分开函数和shell的原创 2021-03-16 19:27:43 · 194 阅读 · 0 评论 -
shell编程-循环结构
shell编程-循环结构shell循环-for语句for i in {取值范围} #for是关键字 i是变量名 in是关键字do #循环体的开始 循环体done #循环体的结束实战1:[root@linux-server script]# vim for.sh#!/usr/bin/env bash## Author:# Date: 2019/**/**for i in {1..100} do echo $i原创 2021-03-16 19:25:48 · 328 阅读 · 0 评论 -
shell编程-流程控制
shell编程-流程控制shell编程-条件结构测试-----test 条件#条件为真返回 0,条件为假返回 1 #语法------[ 条件 ]test 能够理解3中类型的表达式 1.文件测试2.字符串比较3.数字比较字符串 -n STRING the length of STRING is nonzero -n 字符串的长度 不是零成功。 -z STRING the length of STRING is zero -z 字符串长度。是零成功 #原创 2021-03-16 19:23:22 · 194 阅读 · 0 评论 -
shell编程-初始shell及变量
shell编程初始shell程序 语言 编程----------------------------------语言自然语言:汉语、英语 计算机语言:c语言、c++、(java php python go shell) 编译型语言 c c++ java 解释型语言 php python bash编译型语言:编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。像C/C++等都是编译型语言。 解释型语言:源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器原创 2021-03-16 19:18:05 · 990 阅读 · 0 评论