常用的Sheel脚本有哪些
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章给大家分享的是有关常用的Sheel脚本有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、list_sys_status.sh显示系统使用的以下信息:主机名、I
千家信息网最后更新 2025年11月08日常用的Sheel脚本有哪些
这篇文章给大家分享的是有关常用的Sheel脚本有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1、list_sys_status.sh
显示系统使用的以下信息:
主机名、IP地址、子网掩码、网关、DNS服务器IP地址信息
#!/bin/bashIP=`ifconfig eth0 | head -2 | tail -1 | awk '{print $2}' | awk -F":" '{print $2}'`ZW=` ifconfig eth0 | 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 "Data Size: $SIZE" >> /tmp/dbinfo.txtcd /opt/dbbak &> /dev/null || mkdir /opt/dbbaktar zcf /opt/dbbak/mysqlbak-${DAY}.tar.gz /var/lib/mysql /tmp/dbinfo.txt &> /dev/nullrm -f /tmp/dbinfo.txtcrontab-e55 23 */3 * * /opt/dbbak/dbbak.sh3、每周日半夜23点半,对数据库服务器上的webdb库做完整备份
每备份文件保存到系统的/mysqlbak目录里
用系统日期做备份文件名 webdb-YYYY-mm-dd.sql
每次完整备份后都生成新的binlog日志
把当前所有的binlog日志备份到/mysqlbinlog目录下
#mkdir /mysqlbak#mkdir /mysqlbinlog#service mysqld startcd /shell#vi webdb.sh#!/bin/bashday=`date +%F`mysqldump -hlocalhost -uroot -p123 webdb > /mysqlbak/webdb-${day}.sqlmysql -hlocalhost -uroot -p -e "flush logs"tar zcf /mysqlbinlog.tar.gz /var/lib/mysql/mysqld-bin.0*#chmod +x webdb.sh#crontab -e30 23 * * 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"exit 5fiservice $service status &> /dev/nullif [ $? -eq 0 ];thhenecho "服务在线"elseservice $service startfi
方法2:使用位置变量来写脚本
if [ -z $1 ];thenecho "You mast specify a servername!"echo "Usage: `basename$0` servername"exit 2fiif [ $1 == "crond" ] || [ $1 == "mysql" ] || [ $1 == "sshd" ] || [ $1 == "httpd" ] || [ $1 == "vsftpd" ];thenservice $1 status &> /dev/nullif [ $? -eq 0 ];thenecho "$1 is running"elseservice $1 startfielseecho "Usage:`basename $0` server name"echo "But only check for vsftpd httpd sshd crond mysqld" && exit2fi
5、pc_noline.sh
输出192.168.1.0/24网段内在线主机的ip地址
统计不在线主机的台数,并把不在线主机的ip地址和不在线时的时间保存到/tmp/ip.txt文件里
#!/bin/baship=192.168.1.j=0for i in `seq 10 12`doping -c 3 $ip$i &> /dev/nullif [ $? -eq 0 ];thenecho 在线的主机有:$ip$ielselet j++echo $ip$i >> /tmp/ip.txtdate >> /tmp/ip.txtfidoneecho 不在线的主机台数有 $j
6、一个简单的网站论坛测试脚本
用交互式的输入方法实现自动登录论坛数据库,修改用户密码
[root@test1 scripts]# vim input.sh#!/bin/bashEnd=ucenter_membersMYsql=/home/lnmp/mysql/bin/mysqlread -p "Enter a website directory : " webdirWebPath=/home/WebSer/$webdir/configecho $WebPathread -p "Enter dbuser name : " dbuserecho $dbuserread -sp "Enter dbuser password : " dbpassread -p "Enter db name : " dbnameecho $dbnameread -p "Enter db tablepre : " 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 ];then Start=$dbtablepre Pre=`echo $Start$End` read -p "Enter you name : " userset echo $userset Result=`$MYsql -u$dbuser -p$dbpass $dbname -e "select username from $Pre where username='$userset'\G"|cut -d ' ' -f2|tail -1` echo $Result if [ $userset == $Result ];then read -p "Enter your password : " userpass passnew=`echo -n $userpass|openssl md5|cut -d ' ' -f2` $MYsql -u$dbuser -p$dbpass $dbname -e "update $Pre set password='$passnew' where username='$userset';" $MYsql -u$dbuser -p$dbpass $dbname -e "flush privileges;" else echo "$userset is not right user!" exit 1 fielse exit 2fi7、slave_status.sh(检查mysql主从从结构中从数据库服务器的状态)
1)本机的数据库服务是否正在运行
2)能否与主数据库服务器正常通信
3)能否使用授权用户连接数据库服务器
4)本机的slave_IO进程是否处于YES状态
本机的slave_SQL进程是否处于YES状态
[root@test1 scripts]# vim test.sh#!/bin/bashnetstat -tulnp | grep :3306 > /dev/nullif [ $? -eq 0 ];thenecho "服务正在运行"elseservice mysqld startfiping -c 3 192.168.1.100 &> /dev/nullif [ $? -eq 0 ];thenecho "网络连接正常"elseecho "网络连接失败"fimysql -h292.168.1.100 -uroot -p123456 &> /dev/nullif [ $? -eq 0 ];thenecho "数据库连接成功"elseecho "数据库连接失败"fiIO= mysql -uroot -p123 -e "show slave status\G" | grep Slave_IO_Running | awk '{print $2}' > /dev/nullSQL= mysql -uroot -p123 -e "show slave status\G" | grep Slave_SQL_Running | awk '{print $2}' /dev/nullif [ IO==Yes ] && [ SQL==Yes ];thenecho "IO and SQL 连接成功"elseecho "IO线程和SQL线程连接失败"fi感谢各位的阅读!关于"常用的Sheel脚本有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
服务
数据
数据库
脚本
主机
在线
备份
地址
服务器
状态
检查
运行
文件
方法
用户
目录
系统
本机
常用
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数字化对网络安全的贡献
mc1.8生存服务器
网络技术与应用电子课本
绩溪终维网络技术服务官方
速达附加数据库分区有问题
服务器可信管理系统
网络安全警示教育记录
游戏服务器报价
faceit怎么连接到服务器
网络安全标准化测试题库
西北农林科技大学互联网加
从哪里找到电脑服务器
软件开发公司业务前置
修改服务器管理员密码
最好的软件开发网络培训
金融行业最安全服务器
河北软件开发外包公司哪个好
服务器带宽为什么那么低
智能手机客户端软件开发
共享影视库服务器
数字化对网络安全的贡献
数据库时间和系统时间
网络安全最好的实践
疾病临床数据库
英国网络安全中心近况
2019网络安全大事件国内
肇庆旅游软件开发
广西移动城管软件开发系统
网络技术期末题
计算机网络技术基础软件