这篇文章给大家分享的是有关常用的Sheel脚本有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。


1、list_sys_status.sh

显示系统使用的以下信息:

主机名、IP地址、子网掩码、网关、DNS服务器IP地址信息

#!/bin/bashIP=`ifconfigeth0|head-2|tail-1|awk'{print$2}'|awk-F":"'{print$2}'`ZW=`ifconfigeth0|head-2|tail-1|awk'{print$3}'|awk-F":"'{print$2}'`GW=`route-n|tail-1|awk'{print$2}'`HN=`hostname`DNS=`head-1/etc/resolv.conf|awk'{print$2}'`echo'此机IP地址是'$IPecho'此机子网掩码是'$ZWecho'此机网关是'$GWecho'此机主机名是'$HNecho'此机DNS是'$DNS2、mysqlbak.sh备份数据库目录脚本

#!/bin/bashDAY=`date+%Y%m%d`SIZE=`du-sh/var/lib/mysql`echo"Date:$DAY">>/tmp/dbinfo.txtecho"DataSize:$SIZE">>/tmp/dbinfo.txtcd/opt/dbbak&>/dev/null||mkdir/opt/dbbaktarzcf/opt/dbbak/mysqlbak-${DAY}.tar.gz/var/lib/mysql/tmp/dbinfo.txt&>/dev/nullrm-f/tmp/dbinfo.txtcrontab-e5523*/3**/opt/dbbak/dbbak.sh3、每周日半夜23点半,对数据库服务器上的webdb库做完整备份

每备份文件保存到系统的/mysqlbak目录里

用系统日期做备份文件名 webdb-YYYY-mm-dd.sql

每次完整备份后都生成新的binlog日志

把当前所有的binlog日志备份到/mysqlbinlog目录下

#mkdir/mysqlbak#mkdir/mysqlbinlog#servicemysqldstartcd/shell#viwebdb.sh#!/bin/bashday=`date+%F`mysqldump-hlocalhost-uroot-p123webdb>/mysqlbak/webdb-${day}.sqlmysql-hlocalhost-uroot-p-e"flushlogs"tarzcf/mysqlbinlog.tar.gz/var/lib/mysql/mysqld-bin.0*#chmod+xwebdb.sh#crontab-e3023**7/shell/webdb.sh4、very.ser.sh(检查任意一个服务的运行状态)

只检查服务vsftpd httpd sshd crond、mysql中任意一个服务的状态

如果不是这5个中的服务,就提示用户能够检查的服务名并退出脚本

如果服务是运行着的就输出 “服务名 is running”

如果服务没有运行就启动服务

方法1:使用read写脚本

#!/bin/bashread-p"请输入你的服务名:"serviceif[$service!='crond'-a$service!='httpd'-a$service!='sshd'-a$service!='mysqld'-a$service!='vsftpd'];thenecho"只能够检查'vsftpd,httpd,crond,mysqld,sshd"exit5fiservice$servicestatus&>/dev/nullif[$?-eq0];thhenecho"服务在线"elseservice$servicestartfi方法2:使用位置变量来写脚本

if[-z$1];thenecho"Youmastspecifyaservername!"echo"Usage:`basename$0`servername"exit2fiif[$1=="crond"]||[$1=="mysql"]||[$1=="sshd"]||[$1=="httpd"]||[$1=="vsftpd"];thenservice$1status&>/dev/nullif[$?-eq0];thenecho"$1isrunning"elseservice$1startfielseecho"Usage:`basename$0`servername"echo"Butonlycheckforvsftpdhttpdsshdcrondmysqld"&&exit2fi5、pc_noline.sh

输出192.168.1.0/24网段内在线主机的ip地址

统计不在线主机的台数,并把不在线主机的ip地址和不在线时的时间保存到/tmp/ip.txt文件里

#!/bin/baship=192.168.1.j=0foriin`seq1012`doping-c3$ip$i&>/dev/nullif[$?-eq0];thenecho在线的主机有:$ip$ielseletj++echo$ip$i>>/tmp/ip.txtdate>>/tmp/ip.txtfidoneecho不在线的主机台数有$j6、一个简单的网站论坛测试脚本

用交互式的输入方法实现自动登录论坛数据库,修改用户密码

[root@test1scripts]#viminput.sh#!/bin/bashEnd=ucenter_membersMYsql=/home/lnmp/mysql/bin/mysqlread-p"Enterawebsitedirectory:"webdirWebPath=/home/WebSer/$webdir/configecho$WebPathread-p"Enterdbusername:"dbuserecho$dbuserread-sp"Enterdbuserpassword:"dbpassread-p"Enterdbname:"dbnameecho$dbnameread-p"Enterdbtablepre:"dbtablepreecho$dbtablepreGlobalphp=`grep"tablepre*"$WebPath/config_global.php|cut-d"'"-f8`Ucenterphp=`grep"UC_DBTABLEPRE*"$WebPath/config_ucenter.php|cut-d'.'-f2|awk-F"'"'{print$1}'`if[$dbtablepre==$Globalphp]&&[$dbtablepre==$Ucenterphp];thenStart=$dbtableprePre=`echo$Start$End`read-p"Enteryouname:"usersetecho$usersetResult=`$MYsql-u$dbuser-p$dbpass$dbname-e"selectusernamefrom$Prewhereusername='$userset'\G"|cut-d''-f2|tail-1`echo$Resultif[$userset==$Result];thenread-p"Enteryourpassword:"userpasspassnew=`echo-n$userpass|opensslmd5|cut-d''-f2`$MYsql-u$dbuser-p$dbpass$dbname-e"update$Presetpassword='$passnew'whereusername='$userset';"$MYsql-u$dbuser-p$dbpass$dbname-e"flushprivileges;"elseecho"$usersetisnotrightuser!"exit1fielseexit2fi7、slave_status.sh(检查mysql主从从结构中从数据库服务器的状态)

1)本机的数据库服务是否正在运行

2)能否与主数据库服务器正常通信

3)能否使用授权用户连接数据库服务器

4)本机的slave_IO进程是否处于YES状态

本机的slave_SQL进程是否处于YES状态

[root@test1scripts]#vimtest.sh#!/bin/bashnetstat-tulnp|grep:3306>/dev/nullif[$?-eq0];thenecho"服务正在运行"elseservicemysqldstartfiping-c3192.168.1.100&>/dev/nullif[$?-eq0];thenecho"网络连接正常"elseecho"网络连接失败"fimysql-h292.168.1.100-uroot-p123456&>/dev/nullif[$?-eq0];thenecho"数据库连接成功"elseecho"数据库连接失败"fiIO=mysql-uroot-p123-e"showslavestatus\G"|grepSlave_IO_Running|awk'{print$2}'>/dev/nullSQL=mysql-uroot-p123-e"showslavestatus\G"|grepSlave_SQL_Running|awk'{print$2}'/dev/nullif[IO==Yes]&&[SQL==Yes];thenecho“IOandSQL连接成功”elseecho"IO线程和SQL线程连接失败"fi


感谢各位的阅读!关于“常用的Sheel脚本有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!