首页 > 系统相关 >linux中9个常用的shell脚本

linux中9个常用的shell脚本

时间:2024-02-01 11:32:56浏览次数:31  
标签:脚本 shell 检查 主机 可用性 ping 监控 linux CPU

注意事项

1)开头加解释器:#!/bin/bash

2)语法缩进,使用四个空格;多加注释说明。

3)命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。

4)默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。

5)有两个命令能帮助我调试脚本:set -e 遇到执行非0时退出脚本,set-x 打印执行过程。  

6)写脚本一定先测试再到生产上。

1 获取随机字符串或数字

获取随机8位字符串:

linux中9个常用的shell脚本_IP

获取随机8位数字:

linux中9个常用的shell脚本_字符串_02

cksum:打印CRC效验和统计字节

2 定义一个颜色输出字符串函数

linux中9个常用的shell脚本_局部变量_03

function关键字定义一个函数,可加或不加。

3 批量创建用户

linux中9个常用的shell脚本_局部变量_04

4 检查软件包是否安装

linux中9个常用的shell脚本_字符串_05

5 检查服务状态

linux中9个常用的shell脚本_局部变量_06

6 检查主机存活状态

方法1: 将错误IP放到数组里面判断是否ping失败三次

linux中9个常用的shell脚本_IP_07

方法2: 将错误次数放到FAIL_COUNT变量里面判断是否ping失败三次

linux中9个常用的shell脚本_字符串_08

方法3: 利用for循环将ping通就跳出循环继续,如果不跳出就会走到打印ping失败

linux中9个常用的shell脚本_局部变量_09

7 监控CPU、内存和硬盘利用率

1)CPU

借助vmstat工具来分析CPU统计信息。

linux中9个常用的shell脚本_局部变量_10

2)内存     

linux中9个常用的shell脚本_字符串_11

3)硬盘

linux中9个常用的shell脚本_局部变量_12

8 批量主机磁盘利用率监控

前提监控端和被监控端SSH免交互登录或者密钥登录。

写一个配置文件保存被监控主机SSH连接信息,文件内容格式:IP User Port

linux中9个常用的shell脚本_字符串_13

9 检查网站可用性

1)检查URL可用性

linux中9个常用的shell脚本_局部变量_14

2)判断三次URL可用性

思路与上面检查主机存活状态一样。

linux中9个常用的shell脚本_IP_15


标签:脚本,shell,检查,主机,可用性,ping,监控,linux,CPU
From: https://blog.51cto.com/u_16077267/9523208

相关文章

  • jmeter 使用 BeanShell PostProcessor 过程中遇到的一些问题记录
    关于jmeter中使用BeanShellPostProcessor遇到的一些问题记录:1、BeanShellPostProcessor的位置BeanShellPostProcessor要放在获取内容对应的线程的同一个层级,如:2、内容:例如:FileWriterfstream=newFileWriter("E:\aaskNodeId.csv");//,如果要建立文件并追加写入数据,需......
  • linux centos7+apache2+php
    Thisisbasicenvironmenttoservephpapplicationframework.Wedon'tneedaDatabaseinthiscase.MakeaserveroncentosEnvironmentSettingupsomeenvironment(phpandapacheenvironment)Touchthefileandpastetheweb-shellsamplecode.Chec......
  • linux用户组操作命令
    查看所有用户compgen是bash的内置命令,它将显示所有可用的命令,别名和函数。compgen-u查看当前用户属于那些组groups查看某个用户属于哪些组groups查看系统有哪些组getentgroup追加用户到新的用户组,让他处在多个组中-aG必须要加a,代表append,否则G会让用户脱离......
  • 4、linux设置主机名
    linux设置主机名1、查看主机名hostname默认:localhost.localdomain2、更改主机名编辑/etc/hostname,修改成自己需要的主机名vi/etc/hostname3、设置hosts编辑/etc/hosts,将修改的主机名增加一个映射vi/etc/hosts/etc/hosts127.0.0.1localhostlocalhost.localdoma......
  • Linux下查询CPU,内存,磁盘及操作系统
    查询CPU核数nproc结果为4查询内存free-h#以人类(human)可读的方式展示结果为totalusedfreesharedbuff/cacheavailableMem:15Gi2.2Gi327Mi1.0Mi13Gi13GiSwap:......
  • Lazarus windows远程交叉调试Linux
    一、在目标机上安装gdbserver服务。运行gdbserver:2345你要调试的程序二、编译gdb(重点)1、下载gdb源,下载msys2-x86_64-20220118.exe。2、安装msys23、到Msys2安装目录下运行mingw64.exe4、安装以下包pacman-Syupacman-Smingw-w64-x86_64-toolchainpacman-Stexinfo......
  • jenkins流水线脚本使用
    目录pipeline流水线的使用脚本示例语法点击流水线语法后面有代码生成器生成拉取git的代码沙盒允许的脚本不需要审核非沙盒脚本审核的位置执行Java-jar文件进程退出问题如果是pipeline风格的项目如果是自由风格Jenkinsfilepipeline流水线的使用脚本示例pipeline{age......
  • linux内核-3.Linux 内核启动流程
    1链接脚本vmlinux.lds先编译一下Linux源码,因为有很多文件是需要编译才会生成的。首先分析Linux内核的连接脚本文件arch/arm/kernel/vmlinux.lds,通过链接脚本可以找到Linux内核的第一行程序是从哪里执行的。vmlinux.lds中有如下代码:492OUTPUT_ARCH(arm)493ENTRY(ste......
  • QCN9024 QCN9074|Step by Step to load driver for DR9074-Triband on linux 5.17.0
    LoadingDR9074-TribandDriveronLinux5.17.0withATH11KSupportWallysrecentlyannouncedATH11KsupportforDR9074-TRIBANDonLinux,expandingitscompatibilitybeyondQualcommplatformstovariousLinuxembeddedsystems,includingUbuntu.Inthisartic......
  • linux之socket编程
    linux之socket编程源IP地址与目的IP地址任何主机想要进行网络通信,首先就要拥有IP地址!因为每台主机都有网络地址就注定了有——源IP与目的IP消息从哪里发送——发送主机的IP就是源IP消息要到哪里——接收消息的主机的IP就是目的IP!在IP报头里面就包含了源IP与目的IP端口号......