shell脚本实现智能化查看功能
2013-07-04 15:48
471 查看
首先,在这里我写的脚本的功能没有一一写出来,有兴趣的朋友可以自已完成,好久没有写shell脚本了,今天写这个就当是复习下,最近一直使用python,不过对比之下,本人不才,总结以下:
1 shell只能对系统层面使用,而ptyhon任何情况下都可以使用
2 shell没有python语言强大,shell是依赖对命令,而python是模块的强大
3 管理系统建议使用shell,对于运维开发必须要使用python
4 shell使用简单,容易上手,相对python而言,python模块丰富
5 建议系统管理员必须要学会shell,然后再学习python,这样学习python会快很多
以下是shell脚本(很简单,大牛请绕道):
题外话
现在很多企业都很少挂出来招系统管理员啦,直接就是运维工程师,系统工程师和运维工程师的区,以下是个人观点:
系统管理员:工作在系统层面,例如安装下系统,桌面的维护,配置下环境,安装服务,然后上线.
运维工程师:感觉就是啥都要懂,系统、网络、编程,系统层面要安装、优化、高可用,这些跟系统 管理员没有多大的区别,那么区别在哪里,大家应该经常会看到招聘运维工程师的时候,最重要一条,熟悉或者精通shll|perl|python|php,对于现在的来说shell基本是没有难度的,还有在小公司里面运维工程师还要"兼职"数据库管理员(DB SA),偶尔还是需要开发下运维工具。
建议
不管是系统管理员还是运维工程师,必须学习shell+3P(其中一门),相信以后高就肯定有好处
本文出自 “游造技术博客” 博客,请务必保留此出处http://youzao.blog.51cto.com/3946111/1241523
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 while true 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 ##################################### function cpu(){ top -n 1 } function memory(){ free -m } function process(){ ps -A|wc -l } function disk(){ df -lh } function apache(){ netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' } function tcp(){ netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n10 } function mysql(){ netstat -anl|grep "3306"|wc -l } function exit(){ 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(其中一门),相信以后高就肯定有好处
本文出自 “游造技术博客” 博客,请务必保留此出处http://youzao.blog.51cto.com/3946111/1241523
相关文章推荐
- Shell脚本中实现自动补全功能
- Shell脚本实现根据端口号kill相应进程功能
- Linux学习-->如何通过Shell脚本实现发送邮件通知功能?
- 详解shell脚本(十二)—— 进阶功能实现
- shell脚本实现文件锁功能
- 利用shell脚本实现计划任务功能
- 无聊乱搞:用shell脚本实现windows下cena的评测功能
- shell脚本结合函数实现简单计算器功能
- Shell脚本实现删除一年前文件功能分享
- 利用shell脚本实现计划任务功能
- shell脚本实现轮询查看进程是否结束
- shell脚本实现sequoiadb数据导出功能
- shell脚本实现进度条功能
- 【原创】一个shell脚本记录(实现rsync生产文件批量迁移功能)
- Shell脚本实现根据端口号kill相应进程功能
- CentOS 6.7编写Shell脚本实现简单跳板机功能
- 实现学生成绩增删查改功能的shell脚本
- python和shell脚本实现查看大文件指定区域范围内的文件内容
- Shell中实现类似于结构体/数组功能的脚本
- Shell脚本实现的单机流量统计功能