假设,当前Mysql服务的root密码为Aa123456,写脚本检测mysql服务是否正常 比如,可以正常进入mysql执行showprocesslist,并检测一下当前的mysql服务是主还是从, 如果是从,请判断它的主从服务是否异常。如果是主,则不需要做什么。 !/bin/bash 把这串命令直接赋值到变量里,方便后面多次调用 Mysql_c="mysql-uroot-p123456" 将登陆MYSQL并执行命令的正确和错误输出分别指向不同的文件 $Mysql_c-e"showprocesslist">/tmp/mysql_pro.log2>/tmp/mysql_log....

  JiJ96DoSHEh4   2023年11月22日   18   0   0 mysqlSQLsed

写一个脚本判断给定的一串数字是否是合法的日期 比如20231301就不合法 !/bin/bash 判断是否提供一个参数 判断提供参数长度是否是8 if[$-ne1]||[${1}-ne8] then echo"Usage:bash$0yyyymmdd" exit1 fi mydate=$1 截取前4个字符 year=${mydate:0:4} 截取第5个到第6个字符 month=${mydate:4:2} 截取第7个到第8个字符 day=${mydate:6:2} ifcal$day$month$year>/dev/null2>/dev/null then echo"The...

  JiJ96DoSHEh4   2023年11月19日   14   0   0 bashlinux

写一个脚本产生随机3位的数字,并且可以根据用户的输入参数来判断输出几组 比如,脚本名称为abc.sh 执行方法: bashabc.sh直接产生一组随机数 bashabc.sh10产生10组3位数字 !/bin/bash 思路:产生随机的1位数字,然后产生三次,在将三个数字组合在一起 产生一位数字的函数 get_a_num(){ 除以10取余数 n=$[$RANDOM%10] echo$n } 组合三位数字的函数 get_numbers(){ foriin012 do 数组赋值 a[$i]=`get_a_num` done 将多余的空格删除掉 echo${a[@]}|sed's///g'...

  JiJ96DoSHEh4   2023年11月19日   14   0   0 bashbcsed

今日脚本需求: 有两个文件a.txt和b.txt,需求是把a.txt中有的且b.txt中没有的行找出来,并写入到c.txt,然后计算c.文件的行数 分割线,以下为脚本正文 --------------------------------- !/bin/bash author:amung(vx:lishumung2o09) verson:v1 如果c.txt已经存在就先删除掉 [-fc.txt]&&rm-fc.txt 使用while循环遍历a.txt所有行 cata.txt|whilereadline do 如果b.txt里面没有这行内容,将其写入c.txt if!gr...

  JiJ96DoSHEh4   2023年11月19日   17   0   0 分割线while循环遍历文件

脚本来源:b站阿铭linux 脚本需求 一个脚本脚本可以接受选项[i,I],完成下面任务 1)使用一下形式:xxx.sh[-iiterface|-Iip] 2)当使用-i选项时,显示指定网卡的p地址 当使用-I选项时,显示其指定p所属的网卡。 例:shxxx.sh-iens160 shxxx.sh-I192.168.0.1 3)当使用除[-i|-I]选项时,显示[-iinterface|-Iip]此信息 4)当用户指定信息不符合时,显示错误。(比如指定的eth0没有,而是eth1 !/bin/bash 创建打印脚本使用帮助的函数 useage(){ echo"Pleaseuseage:$...

  JiJ96DoSHEh4   2023年11月19日   20   0   0 使用帮助IP临时文件

编写一个巡检脚本,用来检测系统里面所有服务是否都正常运行 假定系统运行的服务有nginx,mysql,redis,tomcat 要求脚本有内容输出,可以明确告知服务是否正常运行 如果服务进程存在并且端口监听说明服务正常。 进程是否存在使用pgrepaux|grep'xxx' 端口是否存在使用ss-lnp|grep'xxxx' !/bin/bash 判断pgrep或ss命令是否存在 check_tools() { if!whichpgrep&>/dev/null then echo"本机没有pgrep命令" exit1 fi if!whichss&>/dev/nu...

  JiJ96DoSHEh4   2023年11月19日   19   0   0 mysql服务进程正常运行

写一个监控服务器CPU使用率的监控脚本 思路:用top -bn1命令,取当前空闲CPU百分比值(只取整数部分),然后用100去减这个数值。 !/bin/bash while: do 先把CPUidle的值获取到 idle=`top-bn1|sed-n'3p'|awk-F'ni,''{print$2}'|cut-d.-f1|sed's///g'` use=$[100-$idle] if[$use-gt90] then echo"CPUusepercenttoohigh." fi sleep10 done <<'COMMENT' 1)监控脚本有两种方案:第一种是使用while死循...

  JiJ96DoSHEh4   2023年11月19日   20   0   0 服务器字段sed

编写一个监控网卡的脚本 1)每10分钟检测一次网卡ens32的流量 2)如果流量为0,则重启网卡 提示:使用sar-nDEV !/bin/bash 为了能够精确匹配关键字,需要设定语言为英语 LANG=en 检查sar命令是否存在,不存在需要安装对应的包 if!whichsar&>/dev/null then echo"没有sar命令,使用yum安装" 通过安装sysstat包来安装sar命令 yuminstall-ysysstat&>/dev/null||(echo"sar命令无法安装";exit1) fi 将eth32网卡1分钟的流量数据写入临时文件/...

  JiJ96DoSHEh4   2023年11月19日   16   0   0 重启临时文件sed

写一个脚本判断Linux服务器里是否开启web服务 如果开启了,请判断出跑的什么业务,是httpd还是mysql又或者是其它什么? !/bin/bash 定义检测web服务是什么函数 what_web(){ case$1in httpd) echo"跑的是Httpd服务." ;; mysqld) echo"跑的是mysql服务." ;; ) echo"跑的是其它服务" ;; esac } 如果没有监听3306端口,则说明没有跑web服务 port_n=`ss-lnp|grep':3306'|wc-l` if[${port_n}-eq0] then echo"没有开启web服务" exit...

  JiJ96DoSHEh4   2023年11月19日   24   0   0 web服务mysql

shell脚本 1)系统负载命令使用uptme看,过去1分钟的平均负载 2)系统状态使用如下工具标记:top,vmstat,ss 3)要求每隔20s监控一次 4)系统状态信息需要保存到/opt/logs/下面,保留一个月,文件名建议带有e后缀或者前缀 !/bin/bash 首先看/opt/log目录在不在,不在就创建 [-d/opt/logs]||mkdir-p/opt/logs while死循环 while: do 获取系统1分钟的负载,并且只取小数点前面的数字 load=`uptime|awk-F'average:''{print$2}'|cut-d','-f1|sed's//...

  JiJ96DoSHEh4   2023年11月13日   19   0   0 分隔符字段sed

有一台服务器作为web应用,有一个目录(/data/web/attachment) 不定时地会被用户上传新的文件,但是不知道什么时候会上传。 所以,需要我们每5分钟做一次检测是否有新文件生成。 写一个shell脚本去完成检测。检测完成后若是有新文件, 还需要将新文件的列表输出到一个按年,月,日,时,分为名字的日志里 思路:每5分钟检测一次,那肯定需要有一个计划任务,分钟去执行一次。 脚本检测的时候,就是使用fnd命令查找5分钟内有过更新的文件, 若是有更新,那这个命令会输出东西,否则是没有输出的。 固,我们可以把输出结果的行数作为比较对象,看看它是否大于0. !/bin/bash 日志文...

  JiJ96DoSHEh4   2023年11月13日   134   0   0 上传文件列表sed

脚本需求 写一个脚本实现如下功能 输入一个数字,然后运行对应的命令。 显示命令如下: cmdmeau1-date2-ls3-who4-pwd 当输入1时,会运行date,输入2时运行ls,依次类推 !/bin/bash 先把提示语打印出来 echo"cmdmeau1-date2-ls3-who4-pwd" 使用死循环,目的是为了当用户输入的字符并非要求的字符时。 不能直接退出脚本,而是再次重新开始 while: do 然后使用read实现和用户交互,提示让用户输入一个数字 read-p"pleaseinputanumber1-4:"n case$nin 1) date 之所以要brea...

  JiJ96DoSHEh4   2023年11月05日   22   0   0 逻辑判断用户交互shell脚本

写一个监控脚本,监控某个站点访问是否正常。 提示: 1.可以将访问的站点以参数的形式提供,例如shxxx.shwww.baidu.com 2.状态码为2xx或者3xx表示正常 3.正常时echo正常,不正常时echo不正常 !/bin/bash 检查本机有没有curl命令 if!whichcurl&>/dev/null then echo"本机没有安装curl" 这里假设系统为Centos yuminstall-ycurl if[$?-ne0] then echo"没有安装成功curl" exit fi fi 获取状态码 code=`curl--connect-timeou...

  JiJ96DoSHEh4   2023年11月05日   15   0   0 bash状态码HTTP

使用传参的方法写个脚本,实现加减乘除的功能。 例加:sha.sh,这样会分别计算加,减,乘,除的结果。 要求: 1)脚本需判断提供的两个数字必须为整数 2)当做减法或者除法时,需要判断哪个数字大 3)减法时需要用大的数字减小的数字 4)除法时需要用大的数字除以小的数字,并且结果需要保留两个小数点。 !/bin/bash 先判断参数是不是2 if[$-ne2] then echo"Thenumberofparameterisnot2,Pleaseuseage:./$012" exit fi 判断提供的数字是否是整数 is_int() { ifecho"$1"|grep-q'[^0-9...

  JiJ96DoSHEh4   2023年11月05日   21   0   0 bash函数用法bc

编写一个带参数的脚本,实现下载文件的效果,参数有两个: 1)第一个参数为文件下载链接: 2)第二个参数为目录,即下载后保存的位置: 3)注意要考虑目录不存在的情况,脚本需要提示用户是否创建目录 无限循环,目的是为了创建目录 while: do 目录存在,就跳出循环 if[-d$2] then break else 目录不存在,会询问是否创建 read-p"目录不存在,是否要创建?(输入y或者n)"yn case$ynin y|Y) mkir-p$2 break ;; n|N) 当用户输入n,意味着不想输入目录,然后脚本直接退出即可 exit2 ;; ) 如果用户输入的提示词并不符合要求,则...

  JiJ96DoSHEh4   2023年11月05日   15   0   0 下载文件用户交互创建目录

!/bin/bash 定义数据库连接信息 read-p"请输入主机IP:"host read-p"请输入主机端口:"port read-p"请输入数据库用户:"user read-p"请输入数据库密码:"pass host="$1" port="$2" user="$3" pass="1s^mYJ%wOOYMjTk88%&" database_name="autodb" 检查数据库是否存在 sql="SELECTSCHEMA_NAMEFROMINFORMATION_SCHEMA.SCHEMATAWHERESCHEMA_NAME='${database_name}'" result...

  JiJ96DoSHEh4   2023年11月02日   28   0   0 mysqlSQL数据库

!/bin/bash 遍历/tmp/test/目录下以.txt后缀结尾的文件 foriin`find/tmp/test/-typef-name".txt"` do echo"重命名前:echo$i" mv$i`echo$i|sed's/txt/sh/'` forsqlin`find/tmp/test-name".txt"`;domv$sql`echo$sql|sed's/txt/sh/'`;done done forjin`find/tmp/test/-typef-name".sh"` do echo"重命名后的文件名:echo$j" done

  JiJ96DoSHEh4   2023年11月02日   16   0   0 sed

写一个脚本,遍历/data目录下的txt文件 将这些txt文件做一个备份 备份的文件名增加一个年月日的后缀,比如aming.txt备份为aming.txt_20231001 ------分割线,以下为脚本正文--------- !/bin/bash author:aming(来自b站阿铭linux) version:v1 定义后缀变量,大家注意下面这个``(反引号)的含义。 suffix=`date+%Y%m%d` 找到/data/目录下的txt文件,用for循环遍历 forfin`find/tmp/test/test1/-typef-name".txt"` do echo"备份文件...

  JiJ96DoSHEh4   2023年11月02日   15   0   0 txt文件for循环后缀

创建10个用户,并给他们设置随机密码,密码记录到一个文件里,文件名userinfo.txt 用户名从user_00到user_09 密码要求:包含大小写字母以及数字,密码长度15位 -------分割线----------- !/bin/bash author:aming(来自B站阿铭linux) version:v1 先查看/tmp/userinfo.txt文件是否存在,存在的话先删除,以免影响到本次脚本执行结果 if[-f/tmp/userinfo.txt] then rm-f/tmp/userinfo.txt fi 判断mkpasswd命令在不在,我们用该命令来生成随机字符串,也...

  JiJ96DoSHEh4   2023年11月02日   23   0   0 特殊字符随机字符串字符串

写一个检测脚本,用来检测本机所有磁盘分区读写是否正常。 提示:可以遍历所有挂载点,然后新建一个测试文件 然后再删除测试文件,如果可以正常新建和删除,那么说明分区没问题 ----------------分割线----------------- !/bin/bash author:aming version:v1 formount_pin`df|sed'1d'|grep-v'tmpfs'|awk'{print$NF}'` do 创建测试文件,并删除,从而确定该磁盘分区是否有问题 touch$mount_p/testfile&&rm-f$mount_p/testfile if[...

  JiJ96DoSHEh4   2023年11月02日   19   0   0 磁盘分区分割线sed
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~