五年屌丝运维工作shell精华
屌丝运维常用shell
列出你最常用的10条shell
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
history | awk '{a[$4]++}END{for(i in a){print a[$i] " " i}}' | sort -rn | head
grep -v "#" .bash_history |awk '{++a[$1]}END{for(i in a)print i,a[i]|"sort -k2 -nr"}' | head
网络连接数目
netstat -an | grep -E "^(tcp)" | cut -c 68- | sort | uniq -c | sort -n #查看状态数连接数
netstat -ntu | awk '{print $5"\n"}' | cut -d: -f1 | sort | uniq -c | sort -nr|head -n 20 #统计IP连接数
netstat -an -t | grep ":22" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort | wc -l #进程连接数
取网卡IP
/sbin/ifconfig |sed 's/.*inet addr:\(.*\) Bca.*/\1/g' |sed -n '/br/{n;p}' #双网卡绑定用这个
/sbin/ifconfig |sed 's/.*inet addr:\(.*\) Bca.*/\1/g' |sed -n '/eth/{n;p}' #普通网卡用这个
ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6- 或者
ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
系统信息统计
dmidecode -t system |grep -E 'Serial'|awk -F':' '{print $2}' (系统序列号查询)
cat /proc/cpuinfo | grep CPU | awk -F: '{print $2}' | sort|uniq -c (cpu核数)
dmidecode -t system |grep 'Product'|awk '{print $3$4}' (单板设备类型)
dmidecode
| grep -P -A 5 'Memory Device' | grep Size | grep -v Range|grep -i -v
"no module"|sed -r 's/^\s+//g' | sort|uniq -c (内存大小)
echo
`/sbin/ifconfig |sed 's/.*inet addr:\(.*\) Bca.*/\1/g' |sed -n
'/eth/{n;p}' ` `hostname` >>/etc/hosts 取IP和主机名定向到/etc/hostname
系统抓包分析
tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts (tcpdump 抓包 ,用来防止80端口被人攻击时可以分析数据 )
less
| awk ' {printf $3"\n"}' | cut -d. -f 1-4 | sort | uniq -c | awk
'{printf $1" "$2"\n"}' | sort -n -t\ +0 (然后检查IP的重复数 并从小到大排序 注意 "-t\
+0" 中间是两个空格 )
系统进程管理
ps -eo pid,lstart,etime | grep 26871 (进程运行时间)
lsof -p 10412 (查看进程打开的文件 10412是进程的PID)
ps -e -o "%C : %p : %z : %a"|sort -k5 -nr (查看进程 按内存从大到小排列 )
ps -e -o "%C : %p : %z : %a"|sort -nr (按cpu利用率从大到小排列)
ps aux |grep mysql |grep -v grep |awk '{print $2}' |xargs kill -9 (杀掉mysql进程)
killall -TERM mysqld 杀掉mysql进程:
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9 杀掉僵死进程
网卡流量
dstat -acdgilmnprstTfy (centos查看网卡流量)
iftop (suse系统网卡流量)
sar -n DEV 1 10 (suse系统网卡流量)
iotop -o (查看那个进程最磨磁盘)
文件管理
删除0字节文件
find -type f -size 0 -exec rm -rf {} \;
查看目录下10个大文件
du -cks * | sort -rn | head -n 10
du -h --max-depth=1 /home
用三种方法将两列合并成一行
cat test
192.168.110.171
00:1F:D0:D4:DD:47
xargs -n 2 < test
sed 'N;s/\n/ /' test
awk -v ORS="" '{printf $0" "}NR%2==0{print "\n"}' 1 test
192.168.110.171 00:1F:D0:D4:DD:47
本文出自 “俊” 博客,请务必保留此出处http://2364821.blog.51cto.com/2354821/1434094
五年屌丝运维工作shell精华的更多相关文章
- CentOS 下运维自动化 Shell 脚本之 expect
CentOS 下运维自动化 Shell脚本之expect 一.预备知识: 1.在 Terminal 中反斜杠,即 "" 代表转义符,或称逃脱符.("echo -e与pri ...
- 面试 Linux 运维工作至少需要知道哪些知识?
前言 我们已经发过不少 Linux 面试题,但是单独的面试题总感觉会过于零碎,没有体系化内容给人的帮助大. 知乎上有这样一个问题:一个新手面试 Linux 运维工作至少需要知道哪些知识?其中有一个答案 ...
- Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)
一 Ansible自动化运维工具 Python 在运维工作中的经典应用 ansible(批量管理操作) .安装ansible(需要bese epel 2种源) wget -O /etc/yum.rep ...
- 关于Linux主流框架运维工作剖析
LINUX是开源的,这也是最主要的原因,想学Windows,Unix对不起,没有源代码.也正是因为这样,LINUX才能够像雪球一样越滚越大,发展到现在这种规模.今天将为大家带来关于Linux主流框架运 ...
- linux日常运维工作
Linux的使用环境也日趋成熟,各种开源产品络绎不绝,大有百花齐放的盛景,那么当Linux落地企业,回归工作时,我们还要面对这Linux运维方面的诸多问题,今天我们特意组织一场有关Linux 在企业运 ...
- 运维工作中常用到的几个rsync同步命令
作为一个运维工程师,经常可能会面对几十台.几百台甚至上千台服务器,除了批量操作外,环境同步.数据同步也是必不可少的技能.说到“同步”,不得不提的利器就是rsync. 下面结合本人近几年运维工作中对这一 ...
- 浅谈SDN架构下的运维工作
导读 目前国内的网络运维还处于初级阶段,工作人员每天就像救火一样,天天疲于奔命.运维人员只能埋头查找系统运行的日志,耗时耗力,老眼昏花不说,有时候忙了半天还一无所获,作为运维工程师的你,有木有遇到过类 ...
- 用7天找到月薪9K的Linux运维工作,就靠这四点
作者:99527 来源:http://www.yunweipai.com/archives/20865.html 毕业后做了1年IDC运维,每天看看服务器状态,检查检查硬盘.内存什么的,工作没什么技术 ...
- linux运维工作职责
(1)运维人员要谨记的6个字:运维人员做事需遵循:简单.易用.高效(2)运维人员服务的3大宗旨:1.企业数据安全保障.2.7*24小时业务持续提供服务.3.不断提升用户感受.体验.(3)初中级运维的 ...
随机推荐
- 机器学习-->期望风险、经验风险与结构风险之间的关系
https://blog.csdn.net/liyajuan521/article/details/44565269 在机器学习中,通常会遇到期望风险.经验风险和结构风险这三个概念,一直不知道这三个概 ...
- Double-Array Trie 原理解析
http://ansjsun.iteye.com/blog/702255 Trie树是搜索树的一种,它在本质上是一个确定的有限状态自动机,每个结点代表一个状态,根据输入变量的不同,进行状态转 ...
- PHP 使用PHPExcel删除Excel单元格指定列
需求是这样的: 有一个系统仅公司内部和外部经销商使用,在一个导出功能中公司内部员工跟外部经销商导出的列是不一样的(某些数据是不能提供给经销商的) 因为导出的数据都是一样的(某些列外数据外部没有)因此并 ...
- Refuses to install for WTP10
Refuses to install for WTP10 description http://imgur.com/a/QN4iM I am a WTP10 user. I’m running b ...
- [Docker] Getting Started with Container Networks
It is possible to group containers into a network and we can create multi networks so that container ...
- Mockito单测,mock service层的mapper
转载:https://blog.csdn.net/paincupid/article/details/53561435 1.引入mockito jar包 <dependency> < ...
- VS2017安装或卸载错误1303
为添加一个Python开发环境,运行Visual Studio Installer安装报错,下面是日志: 问题日志 安装出现问题. 可通过以下方式排查包故障问题: 1. 使用以下搜索 URL 来搜索针 ...
- 使用Visual Studio Code调试React Native报错
报错信息: [Error] Error: Unknown error: not all success patterns were matched. It means that "react ...
- 论asp.net out、ref、return
论asp.net out.ref.return ref(引用类型) ref引用类型进出都必须赋值,赋值后会改变类型原来的指针. out(值类型) out值类型进可以不赋值,出必须赋值. return( ...
- 变址values(, %edi, 4)和间址4(%edi)
<汇编语言程序设计>Richard Blum著:5.2.4 在内存和寄存器之间传送数据 使用变址的内存位置: 可以在一个命令中指定把多个值存放到内存中: values: .in ...