Linux 进程、端口、IP、连接数等查询脚本

1. 查看TCP连接状态

netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

 (以上每一行实现的效果基本相同,在此列出不同的写法,方便对脚本写法的更深理解)

2. 查找请求数请20个IP(常用于查找攻来源)

netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A[i],i}' |sort -rn|head -n20

 

3. 用tcpdump嗅探80端口的访问看看谁最高

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20

  Continue reading

Linux/Shell | wwpeng | | (2) |

[译] 战前准备,Nginx优化指南

    原文地址:http://blog.zachorr.com/nginx-setup/

    ———————————————————————-

    大多数Nginx的安装指南告诉你基础信息 —— apt-get 一个包,这里那里的修改几行,这样 你就得到了一个web 服务器!并且,在大多数的情况下,这样傻瓜式安装的Nginx 可以很好的为你的站点工作。但是,如果你真的想压榨出Nginx的性能,你将不得不一步一步慢慢来。在这个指南中,我将说明如何对Nginx的参数进行微调能更好的应付较大的访问量。仅仅是一个说明,这不是一个全面的微调综合指南。它是对调整一些设置能提交的性能的一些说明。你的水平可能不同(读者水平参差不齐)。

基础(优化)配置

    你只需要修改你的Nginx配置文件 nginx.conf,这里有全部的nginx的不同模块的设置项。你应该能够你的服务器的 /etc/nginx 目录下找到nginx.conf。首先,我将告诉你一些全局设置,然后在讨论各个模块的设置,谈论哪些设置能为大的访问量提供最佳性能,和为什么他们能有更好的性能,在文章的末尾你可以找到一个完整的配置文件。

顶级配置

    Nginx的nginx.conf配置文件中有少数几个配置选项,在其他模块配置之上。

user www-data;

pid /var/run/nginx.pid;

worker_processes auto;

worker_rlimit_nofile 100000;

    userpid 都应该使用默认设置。我们不用修改,他不会为我们的性能用户做什么。

    worker_processes 定义的是nginx为你的站点提供服务时可以启用的worker进程的数量。这个配置的最优值取决与很多的因素,包括(但不仅限于)CPU的核心数量,数据硬盘的数量以及负载模式。当你不确定的时候,将它设置为CPU的核心数是一个不错的开始(如果这个值是“auto”nginx将尝试自动检测)。

    worker_rlimit_nofile 更改这个限制,可以更改worder进程最大的文件打开数。如果没有设置,将使用操作系统的限制值。设置后你的系统和nginx能处理比 “ulimit -n” 更多的文件。所以我们要将这个值设置的高一些,这样nginx就再也不会出现 “too many open files” 的issue了。确保你的操作系统也更新了这些值。

Continue reading

[原]Ubuntu Linux 系统备份以及恢复

ubuntu-system-backup

a):备份

该shell脚本 基于bash环境,会将 / /home /boot /usr /var 等目录 打包成压缩包

使用之前 之需要配置好 shell脚本当中的 备份文件的存放目录路径 以及 sudo 命令的用户密码 之后脚本可以全自动执行操作,备份位置最好是media目录中挂在的其他硬盘分区,或者其他存储介质

脚本已经排除了很多不需要备份以及不能备份的目录,这些都不影响,只要打包以上目录,就可以将你的系统整个备份了。

虽然linux系统一般不会产生多少垃圾文件 ,但是ubuntu内核,以及其他自动更新后留下的更新包不会被删除,so…打包备份后会减少不小的文件尺寸。关于ubuntu 的系统清理。大家自行google,很多朋友都在博客中记录了各种清理命令,我就不再复制了~~~

PS:特别注意

该脚本需要 ctrl+alt+F1 切换到命令行模式下执行,因为执行过程中会停止lightdm桌面服务,执行完成后,因为桌面服务已经停止所以不能切换回原桌面

只能 sudo service lightdm start 打开新的服务

Continue reading

Linux/Shell | wwpeng | | (0) |