mysqldump -u user -h host -ppasswd db | gzip -9 > /tmp.gz
linux
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}'
并发
1 看CPU 核数
grep 'model name' /proc/cpuinfo | wc -l
2 对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看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
3 查看80端口连接数最多的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}' |sort -rn|head -n20
4 用tcpdump嗅探80端口的访问看看谁最高
查找较多time_wait连接
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20
查找较多的SYN连接
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more
对连接的IP按连接数量进行排序
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
5 找出使用CPU最多的前10名进程
ps -auxf | sort -nr -k 3 | head -10
6 查看僵死进程
ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
7 查找最大的文件夹
du --max-depth=1
8 硬盘IO
iostat -x 1 10
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
同时可以结合vmstat 查看查看b参数 (等待资源的进程数 )和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高 )
9 ####查找打包
tar -zcvf test.tar.gz `find /data/webdir/hiweb3.comdocs -mtime -3 -print`
10 ####查看端口运行什么程序
netstat -apn lsof -i:818 (端口)
11 ######查看目录下小排序
du -sh /usr/www/* | sort -nr
12 ##打包排除目录
13复制目录下大于5MB的东西
/bin/cp `find /root -size +5M` /root/lrm929/
复制目录下大于5MB小于10MB的东西
/bin/cp `find /root -size +5M -size -10M` /root/lrm929/
14 netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
查找较多time_wait连接
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20
15 删除文件大小为0的
find . -name "*" -type f -size 0c | xargs -n 1 rm -f
这个还可以删除指定大小的文件,只要修改对应的 -size 参数就行,例如:
find . -name "*" -type f -size 1024c | xargs -n 1 rm -f
16 问题:
用命令
netstat -np | grep 127.0.0.1:9000 |wc -l
发现只有15
解决:
根据服务器内存情况,可以把PHP FastCGI子进程数调到100或以上,在4G内存的服务器上200就可以
服务器上内存为8G,我把PHP FastCGI子进程数调整到300
vi /usr/local/php/etc/php-fpm.conf
将max_children修改为300
300
重启服务器 如果没有意外 打开速度是正常的
查看当前的PHP FastCGI进程数是否够用:
netstat -anpo | grep "php-cgi" | wc -l
如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”,那么,说明“FastCGI进程数”不够用,需要增大。
解释:
返回结果示例:
LAST_ACK 5 (正在等待处理的请求数)
SYN_RECV 30
ESTABLISHED 1597 (正常数据传输状态)
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057 (处理完毕,等待超时结束的请求数)
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
###########################################################################################################################
web######################################################
1、查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a
2、 查看Nginx运行进程数
ps -ef | grep nginx | wc -l
返回的数字就是nginx的运行进程数,如果是apache则执行
ps -ef | grep httpd | wc -l
3、 查看Web服务器进程连接数:
netstat -antp | grep 80 | grep ESTABLISHED -c
4、查看所有80端口的连接数
netstat -nat|grep -i "80"|wc -l
5、查看并发
netstat -na|grep ESTABLISHED|wc -l
##########################################################################################################################
1.新建用户。
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("123456"));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:phplamp 密码为:1234 的用户。
2.为用户授权。
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录. //首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
授权
grant all privileges on testDB.* to test@localhost identified by '1234';
GRANT SELECT , INSERT , UPDATE , DELETE ON `gemmy\_fdw` . * TO 'fdw'@'localhost';
mysql>flush privileges;
/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
grant all privileges on *.* to root@'10.255.255.%' identified by '123456';
//刷新系统权限表。
mysql>flush privileges;
*/
3.删除用户。
:
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
delete from mysql.user where user=''; ← 删除匿名用户
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;
4.修改指定用户密码。
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;
gw_auditing
update mysql.user set password=password('123456') where User="root" and Host="127.0.0.1";
5 数据库备份/还原
mysqldump -h1.1.1.1 --user=root --password=12345 --opt -Q --default-character-set=utf8 db > auditing2.sql
mysqldump -h1.1.1.1 --user=root --password=12345 --opt -Q --default-character-set=utf8 db > /root/db.sql
mysql --user=root --password=12345 --opt -Q --default-character-set=utf8 --databases "db" > "/root/db
.sql
/usr/bin/mysqldump --user=root --password=fdw123456 --opt -Q --default-character-set=utf8 --databases "gemmy_fdw" > "/fdw.sql
导出整个数据库结构和数据:mysqldump -u用户名 -p密码 -h主机 database > filename.sql
导出某个表的数据和结构:mysqldump -u用户名 -p密码 -h主机 database table > filename.sql
只导出数据库中表的数据:mysqldump -u用户名 -p密码 -h主机 -T database table > filename.sql
只导出数据库中表的结构:mysqldump -u用户名 -p密码 -h主机 -d database table > filename.sql
还原
mysql -uroot -panlaigz --default-character-set=utf8 xixijiawu_xch </root/xixijiawu_xch_2013-08-28.sql
6、 查看MySQL进程连接数:
ps -axef | grep mysqld -c
7 show status like "Handler_read%"; 索引效率查询
Handler_read_key 值高表示索引效果好,Handler_read_rnd_next值高表示索引低效。
http://www.itlearner.com/article/4553
tar -czvf mm.tgz xxx/ --exclude xxx/tt --exclude xxx/ppp
1:查找可疑关键字
find /www/ -name "*.php" |xargs egrep 'assert|phpspy|c99sh|milw0rm|eval|\(gunerpress|\(base64_decoolcode|spider_bc|shell_exec|passthru|\(\$\_\POST\[|eval \(str_rot13|\.chr\(|\$\{\"\_P|eval\(\$\_R|file_put_contents\(\.\*\$\_|base64_decode'
2:查找php小马
grep -r --include=*.php '[^a-z]eval($_POST' . > post.txt
grep -r --include=*.php '[^a-z]eval($_REQUEST' . > REQUEST.txt
3:禁用危险的php函数
disable_functions = exec,scandir,shell_exec,phpinfo,eval,passthru,system,chroot,chgrp,chown,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket
4:快速查找2天内呗修改的文件
find -mtime -2 -type f -name \*.php
#########
###########去取两个字符之间的内容
sed -n '/123493876/,/124149948/'p file
sed -n '/140929 14:08/,/140929 14:10/'p
##############全球各地IP段
http://www.ipdeny.com/ipblocks/