shell习题-22
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,题目要求写一个shell脚本,通过curl -I 返回的状态码来判定所访问的网站是否正常。比如,当状态码为200时,才算正常。参考答案#!/bin/bash#这个脚本用来判断一个网址是否正常#作者:猿
千家信息网最后更新 2026年11月01日shell习题-22
题目要求
写一个shell脚本,通过curl -I 返回的状态码来判定所访问的网站是否正常。
比如,当状态码为200时,才算正常。
参考答案
#!/bin/bash#这个脚本用来判断一个网址是否正常#作者:猿课-阿铭 www.apelearn.com#日期:2018-11-01url="http://www.apelearn.com/index.php"mail_user=306798658@qq.comcode=`curl -I $url 2>/tmp/curl.err|head -1|awk '{print $2}'`if [ -z "$code" ]then python mail.py $mail_user "$url访问异常" "`cat /tmp/curl.err`" exitelif [ $code != "200" ]then curl -I $url &> /tmp/curl.log python mail.py $mail_user "$url访问异常 状态码$code" "`/tmp/curl.log`" fi题目要求
将用户家目录(考虑到执行脚本的用户可能是普通用户也可能是root)下面小于5KB的文件打包成tar.gz的压缩包,并以当前日期为文件名前缀,例如,2018-03-15.tar.gz。
参考答案
查看tar压缩包里面的文件 tar -tf tar.gz
#!/bin/bash#这个脚本用来打包用户家目录下小于5k的文件#作者:猿课-阿铭 www.apelearn.com#日期:2018-11-01t=`date +%F`cd $HOMEtar czf $t.tar.gz `find ./ -type f -size -5k|xargs`题目要求
一个同学不小心用iptables规则把sshd端口22给封掉了,结果不能远程登陆,要想解决这问题,还要去机房,登录真机去删除这规则。 问题来了,要写个监控脚本,监控iptables规则是否封掉了22端口,如果封掉了,给打开。 写好脚本,放到任务计划里,每分钟执行一次。
参考答案
#!/bin/bash#这个脚本用来解封22端口#作者:猿课-阿铭 www.apelearn.com#日期:2018-11-01iptables -nvL INPUT --line-numbers |grep -w 'dpt:22' |awk '$4 ~/REJECT|DROP/ {print $1}' > /tmp/iptables.logn=`wc -l /tmp/iptables.log`if [ $n -gt 0 ]then for n in `tac /tmp/iptables.log` do iptables -D INPUT $n donefi题目要求
已知nginx访问的日志文件在/usr/local/nginx/logs/access.log内,请统计下早上10点到12点 来访ip最多的是哪个?
参考日志
111.199.186.68 - [15/Sep/2017:09:58:37 +0800] "//plugin.php?id=security:job" 200 "POST //plugin.php?id=security:job HTTP/1.1″"http://a.lishiming.net/forum.php?mod=viewthread&tid=11338&extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3141.7 Safari/537.36"203.208.60.208 - [15/Sep/2017:09:58:46 +0800] "/misc.php?mod=patch&action=ipnotice&_r=0.05560809863330207&inajax=1&ajaxtarget=ip_notice" 200 "GET /misc.php?mod=patch&action=ipnotice&_r=0.05560809863330207&inajax=1&ajaxtarget=ip_notice HTTP/1.1″"http://a.lishiming.net/forum.php?mod=forumdisplay&fid=65&filter=author&orderby=dateline" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3141.7 Safari/537.36"参考答案
#!/bin/bash#这个脚本用来分析Nginx访问日志#作者:猿课-阿铭 www.apelearn.com#日期:2018-11-01//定义语音为英文export LANG=enlog="/usr/local/nginx/logs/access.log"#时间的定义 1[01]:[0-5][0-9]: t=`date +%d/%b/%Y:1[01]:[0-5][0-9]:`egrep "$t" $log|awk '{print $1}' |sort -n |uniq -c |sort -n |tail -1 |awk '{print $2}'题目要求
写一个shell脚本。提示输入一个暂停的数字,然后从1打印到该数字。然后询问是否继续。继续的话再输入一个数字接着打印,否则退出脚本。
例:如果输入的是5,打印1 2 3 4 5,然后继续输入15,然后打印6 7 …14 15 以此类推。
参考答案
#!/bin/bash#这个脚本用来打印数字#作者:猿课-阿铭 www.apelearn.com#日期:2018-11-01#输入一个数字read -p "Please input a number: " n#排除纯数字n1=`echo $n |sed 's/[0-9]//g'`if [ -n "$n1" ]then echo "Please input a number." exitfifor i in `seq 1 $n`do echo $idone#是否继续打印read -p "If continue? y/n" ccase $c in n|N) exit ;; y|Y) #第二次输入数字 read -p "Please input a number: " n2 #判断是否是纯数字 n3=`echo $n2|sed 's/[0-9]//g'` if [ -n "$n3" ] then echo "Please input a number." exit fi #判断第二个数字是否大于第一个数字 if [ $n2 -le $n ] then echo "$n2 should grater than $n." exit fi for i in `seq $[$n+1] $n2` do echo $i done ;; *) echo "Please input y or n." ;;esac
脚本
数字
日期
参考
输入
作者
文件
答案
题目
用户
日志
状态
端口
规则
目录
问题
监控
普通
以此类推
任务
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技网
中关村互联网 科技集团
深圳恒合互联网络科技有限公司
重庆互联网络科技
中国互联网科技发展
华中科技大学互联网
互联网金融 科技创新
互联网科技类展会
互联网科技素材视频竖屏
成都玖崟互联网科技有限公司乐商圈怎么样
想开互联网科技公司怎么样
河南住房之家互联网科技
明优互联网科技有限公司
互联网科技公司营业执照怎么办理
国大互联网教育科技有限公司薪资
中国新注册互联网科技
互联网科技企业商标注意事项
互联网科技品牌
亚光科技低轨卫星互联网
六子台科技互联网展会
互联网巨头反垄断金融科技
长亮科技 互联网金融
互联网科技创新企业排名
成都互联网科技公司100强
福建科技产业互联网发展
青岛科技大学互联网大赛研究生
阿大互联网科技有限公司
允成互联网科技有限公司融资
华夏恒生互联网科技013171
北京品多多互联网科技有限公司