在centos6系统里,我们可以使用ntsysv关闭不需要开机启动的服务,当然也可以使用chkconfig工具来实现。写一个shell脚本,用chkconfig工具把不常用的服务关闭。脚本需要写成交互式的,需要我们给它提供关闭的服务名字。#!/bin/bashLANG=enwhile:dochkconfig--list2>/dev/null|grep'3:on'|awk
阿里云的机器,今天收到客服来的电话,说服务器的磁盘io很重。于是登录到服务器查看,并没有发现问题,所以怀疑是间歇性地。正要考虑写个脚本的时候,幸运的抓到了一个线索,造成磁盘io很高的幕后黑手是mysql。此时去showprocesslist,但未发现有问题的队列。原来只是一瞬间。只好继续来写脚本,思路是,每5s检测一次磁盘io,当发现问题去查询mysql的processlist。#!/bin/ba
linux系统中,目录/root/下有一个文件ip-pwd.ini,内容如下:10.111.11.1,root,xyxyxy10.111.11.2,root,xzxzxz10.111.11.3,root,12345610.111.11.4,root,xxxxxx……文件中每一行的格式都为linux服务器的ip,root用户名,root密码,请用一个shell批量将这些服务器中的所有tomcat进程
判断所给目录内哪些二级目录下有没有text.txt文件。有text.txt文件的二级目录,计算出该test.txt文件里面所给出单词的次数。假如脚本名字为1.sh,运行脚本的格式为./1.sh123root,其中123为目录名字,而root为要计算数量的单词#!/bin/bashif[$#-ne2]thenecho"请提供两个参数,第一个参数是目录名字,第二个参数是单词"exi
写一个脚本:判断当前主机的CPU生产商,其信息在/proc/cpuinfo文件中vendorid一行中。如果其生产商为AuthenticAMD,就显示其为AMD公司;如果其生产商为GenuineIntel,就显示其为Intel公司;否则,就说其为非主流公司。#!/bin/bashcpu=grep'^vendor_id'/proc/cpuinfo|head-1|awk-F':
有两个文件a.txt和b.txt,需求是,把a.txt中有的但b.txt中没有的行找出来,并写入到c.txt,然后计算c.txt文件的行数。#!/bin/bashcata.txt|whilereadlinedoif!grep-q"$line"b.txtthenecho$linefidone>c.txtwc-lc.txt把当前用户下所有进程名字中含有"xxx&qu
在文本文档1.txt第5行(假设文件行数大于5)后面增加如下内容:#Thisisatestfile.#Testinsertlineintothisfile.#!/bin/bashn=0cat1.txt|whilereadlinedon=$[$n+1]if[$n-eq5]thenecho$lineecho-e"#Thisisatestfile.\n#Testinsertlineintoth
写一个shell脚本,通过curl-I返回的状态码来判定所访问的网站是否正常。比如,当状态码为200时,才算正常。#!/bin/bashurl="http://www.baidu.com"mail_user=123@qq.comcode=curl-I$url2>/tmp/curl.err|head-1|awk'{$2}'if[-z"$code&q
写一个getinterface.sh脚本可以接受选项[i,I],完成下面任务:1)使用格式:getinterface.sh[-iinterface|-Iip]2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项时,显示其指定ip所属的网卡。例:shgetinterface.sh-ieth0或者shgetinterface.sh-I192.168.0.13)当用户使用除[-i|-I]
编写一个问候程序,它执行时能根据系统当前的时间向用户输出问候信息。假设从半夜到中午为早晨,中午到下午六点为下午,下午六点到半夜为晚上。!/bin/bashd=date+%Hif[$d-ge0-a$d-lt7]#-a表示并且thentag=1elif[$d-ge7-a$d-lt12]thentag=2elif[$d-ge12-a$d-lt18]thentag=3elsetag=4ficase$tag
用shell实现,把一个文本文档中只有一个数字的行给打印出来。文件名filename#!/bin/bashwhilereadlinedon=echo$line|sed's/[^0-9]//g'|wc-Lif[$n-eq1]thenecho$linefidone<filename系统logrotate工具,可以完成日志切割、归档。写一个shell脚本实现类似的归档功能。举例:假
提示用户输入网卡的名字,然后我们用脚本输出网卡的ip,需要考虑下面问题:输入的字符不符合网卡名字规范,怎么应对。名字符合规范,但是根本就没有这个网卡又怎么应对。#!/bin/bashipadd|awk-F':''$1~"^[1-9]"{print$2}'>/tmp/eth.listwhile:doeths=cat/tmp/eth.list|
假设,当前MySQL服务的root密码为123456,写脚本检测MySQL服务是否正常(比如,可以正常进入mysql执行showprocesslist),并检测一下当前的MySQL服务是主还是从,如果是从,请判断它的主从服务是否异常。如果是主,则不需要做什么。#!/bin/bashmysql="/usr/local/mysql/bin/mysql-uroot-p123456"i
写个shell,看看你的Linux系统中是否有自定义用户(普通用户),若是有,一共有几个?#!/bin/bashv=awk-F'release''{print$2}'/etc/redhat-release|cut-d"."-f1panduan(){if[$1-eq0]thenecho"meiyouzidingyiyonghu"
输入数字执行命令输入1执行date命令输入2执行ls命令可以使用case判断#!/bin/bashecho"cmdmanu1date2ls3pwd"read-p"pleaseinputanumber;"nif[-z$n]thenecho"shuruyigeshuzi"exitfin1=echo$n|sed's/[0-9]//g
#!/bin/bashn=netstat-lntp|grep':80'|wc-l#stat=nmap-p80127.0.0.1|grep'tcp/80'|awk'{print$2}'m=123qq@.comwhile:doif[$n-eq0]if[$stat=="closed"]then/usr/local/apache2.4/b
1.以日期格式(xxxx-xx-xx)每日生成一个文件,例如生成的文件名为2019-01-02.log,并且把磁盘的使用情况写到到这个文件中,不用考虑cron,仅仅写脚本即可#!/bin/bashd=date+%Fdisklogfile=$d.logdf-h>$disklogfile#!/bin/bashd=date+%Fdir=/data/logs/disklogif[!-d$dir]th
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号