Webserver 维护常用命令

2008年12月16日 | 分类: Linux&Webserver | 标签: , ,

转载时请标明文章原始出处和作者信息, 作者: lostsnow.
http://www.lsproc.com/blog/linux_webserver_cmd/

实时查看正在执行的sql语句

/usr/sbin/tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | egrep -i 'SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL'

查看http连接

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

查看SYN状态的http连接

netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

查看TIME_WAIT状态的http连接

netstat -tna | cut -b 49- |grep TIME_WAIT | sort |more
netstat -an | grep TIME_WAIT | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

查看ESTABLISHED状态的http连接

netstat -an | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more
netstat -an | grep ":80" | grep ESTABLISHED | sort | more

批量kill进程

ps -efww|grep sqlr-listener|grep -v grep|cut -c 9-15|xargs kill -9

查看活动的php-cgi连接数

netstat -anpo|grep php-cgi|wc -l

按ip查看httpd连接数

netstat -anlp | grep 80 | grep tcp | awk {'print $5'} | awk -F: {'print $1'}| sort |uniq -c | sort -nr

禁IP

iptables -A INPUT -s IP地址 -j REJECT
iptables -A INPUT -s IP地址/24 -j REJECT

route add -net IP地址 netmask 255.255.255.0 reject

调试命令

strace -p pid

跟踪指定的进程pid.

gdb -p pid

跟踪指定的进程pid.

批量查找文件并删除

find . -name test.php -exec rm {} \;
find . -name test.php | xargs rm -rf

更改某一目录下所有目录的权限, 不包括文件, aaa 是目录名

find aaa -type d -exec chmod 755 {} \;

替换文件内容

sed -i 's/b/strong/g' index.html

此命令搜索 index.html 文件中的 b 并将其替换为 strong。

-- EOF --

  1. lost
    2009年3月9日15:54

    tar zcvf - ./data | (cd ./aaa/; tar zxvf -)

  2. 2009年3月29日21:43

    vmstat 1 10
    iostat 1 10
    netstat
    iptraf

  3. 2009年4月10日22:49

    tcpdump host 202.106.0.20 and port 53 -X -s 500 -l -nn -i eth1

  4. 2009年4月11日09:12

    tail -n 10000 access-www.log |awk '{print$7}' |sort |uniq -c | sort -nr|more

  5. 2009年4月17日10:55

    echo 'flush_all' | nc 127.0.0.1 11211

  6. 2009年4月24日15:52

    tar zcvf - ./data | ssh webserver "cat > xxx.tgz" tar zcvf - ./data | (cd ./aaa/; tar zxvf -)

  7. 2009年4月28日23:03

    grep -nr "aaa" .
    sed -i "s/aaa/bbb/g" `grep "aaa" -rl .`

  8. 2009年5月6日15:09

    awk '{print $1}' /proc/loadavg

  9. 2009年8月5日10:38

    netstat -ntl|awk '$4~/:80$/ {print $6}'|sort|uniq -c