五年屌丝运维工作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)初中级运维的 ...
随机推荐
- Creating OpenGL 4.3 window fails with GLFW3
I set up a minimal application to open a blank window with GLFW3: #include <iostream> #inclu ...
- gson ajax 数字精度丢失
ajax传输的json,gson会发生丢失,long > 15的时候会丢失0 解决方案:直接把属性为long的属性自动加上双引号成为js的字符串,这样就不会发生丢失了,ajax自动识别为字符串. ...
- [JUnit] Introduce to Junit and it annotations
Check the get started guid https://junit.org/junit5/docs/current/user-guide/#overview-getting-help p ...
- windows 下 nginx 的启动 停止 关闭
停止 nginx -s stop 重新加载配置文件(改动了参数无需重启,只有执行重新加载即可)nginx -s reload 退出 停止 关闭nginx -s quit
- 基于redis分布式缓存实现(新浪微博案例)转
第一:Redis 是什么? Redis是基于内存.可持久化的日志型.Key-Value数据库 高性能存储系统,并提供多种语言的API. 第二:出现背景 数据结构(Data Structure)需求越来 ...
- angular5中使用全局变量
创建全局变量ts文件,然后引入 创建globals.ts文件: export const base_path = "http://localhost/api/index.php/Home&q ...
- 行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
行内元素:a.b.span.img.input.strong.select.label.em.button.textarea块级元素:div.ul.li.dl.dt.dd.p.h1-h6.blockq ...
- MyArrayList——自己实现ArrayList
注:转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5965205.html 代码已移植:https://github.com/ygj0930/MyAr ...
- C++11新特性之 std::forward(完美转发)(转)
我们也要时刻清醒,有时候右值会转为左值,左值会转为右值. (也许“转换”二字用的不是很准确) 如果我们要避免这种转换呢? 我们需要一种方法能按照参数原来的类型转发到另一个函数中,这才完美,我们称之为完 ...
- uva 1658 Admiral (最小费最大流)
uva 1658 Admiral 题目大意:在图中找出两条没有交集的线路,要求这两条线路的费用最小. 解题思路:还是拆点建图的问题. 首先每一个点都要拆成两个点.比如a点拆成a->a'.起点和终 ...