热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

shell脚本实现智能化查看功能

首先,在这里我写的脚本的功能没有一一写出来,有兴趣的朋友可以自已完成,好久没有写shell脚本了,今天写这个就当是复习下,最近一直使用python,不过对比之下,本人不才,总结以下:1shell只能对系统层面使用,而ptyhon任何情况下都可以使用2shell没有python语

首先,在这里我写的脚本的功能没有一一写出来,有兴趣的朋友可以自已完成,好久没有写shell脚本了,今天写这个就当是复习下,最近一直使用python,不过对比之下,本人不才,总结以下:


      1  shell只能对系统层面使用,而ptyhon任何情况下都可以使用

      2  shell没有python语言强大,shell是依赖对命令,而python是模块的强大

      3  管理系统建议使用shell,对于运维开发必须要使用python

      4  shell使用简单,容易上手,相对python而言,python模块丰富

      5  建议系统管理员必须要学会shell,然后再学习python,这样学习python会快很多


以下是shell脚本(很简单,大牛请绕道):

[root@localhost ~]# cat systeminfo.sh
#!/bin/bash
whiletrue
do
echo "###############################"
echo "#      输入下面的选项         #"
echo "#      cpu(查看CPU            #"
echo "#      memory(查看内存)       #"
echo "#      process(系统进程数)    #"
echo "#      disk(查看硬盘使用)     #"
echo "#      apache(查看apache连接) #"
echo "#      tcp(查看连接前十的IP)  #"
echo "#      mysql(查看mysql连接数) #"
echo "#      exit(退出)             #"
echo "###############################"
#####################################
echo "请输入你想要查看的选项:"
read input
#####################################
functioncpu(){
top -n 1
}
functionmemory(){
free -m
}
functionprocess(){
ps -A|wc -l
}
functiondisk(){
df -lh
}
functionapache(){
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
}
functiontcp(){
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n10
}
functionmysql(){
netstat -anl|grep "3306"|wc -l
}
functionexit(){
exit 0
}
######################################
case$input in
cpu)     cpu
;;
memory)  memory
;;
process) process
;;
disk)    sidk
;;
apache)  apache
;;
tcp)     tcp
;;
mysql)   mysql
;;
exit)    exit
;;
*)       echo "请输入正常选项"
;;
esac
######################################
done

  讲解,使用while死循环来实现功能的选择, function来定义函数,有些童鞋可能说直接在判断语句里面写不是更快,这里建议编程呢,按功能来区分,这样你修改会很方便,而且让下一个系统管理员或者是运维人员接手的话,容易理解,最后使用判断语句来选择.


  题外话

  现在很多企业都很少挂出来招系统管理员啦,直接就是运维工程师,系统工程师和运维工程师的区,以下是个人观点:


  系统管理员:工作在系统层面,例如安装下系统,桌面的维护,配置下环境,安装服务,然后上线.


  运维工程师:感觉就是啥都要懂,系统、网络、编程,系统层面要安装、优化、高可用,这些跟系统                    管理员没有多大的区别,那么区别在哪里,大家应该经常会看到招聘运维工程师的时候,最重要一条,熟悉或者精通shll|perl|python|php,对于现在的来说shell基本是没有难度的,还有在小公司里面运维工程师还要"兼职"数据库管理员(DB SA),偶尔还是需要开发下运维工具。


  建议

  不管是系统管理员还是运维工程师,必须学习shell+3P(其中一门),相信以后高就肯定有好处  



推荐阅读
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 导读:在编程的世界里,语言纷繁多样,而大部分真正广泛流行的语言并不是那些学术界的产物,而是在通过自由发挥设计出来的。和那些 ... [详细]
  • php课程Json格式规范需要注意的小细节
    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgramming ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
author-avatar
刘妤劭明馨
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有