Monthly Archives: June 2008

freebsd how to kill pid

ps -wwaux kill -HUP  pid  (restart on process) kill -9 pid      1       HUP (hang up)      2       INT (interrupt)      3       QUIT (quit)      6       ABRT (abort)      9       KILL (non-catchable, non-ignorable kill)      14      ALRM (alarm clock)      15      TERM (software termination signal)

Freebsd 系统日志分析

Freebsd 系统日志分析 系统日志对于服务器安全来说非常重要,它记录了系统每天发生的各种各样的事情,我们可以通过检查系统日志来分析错误的原因,查看受到攻击时,攻击者留下的痕迹,还可以实时监测系统状态,监测和追踪入侵者等等. 日志主要分三部分: 1.连接时间日志,由login等程序更新,使系统管理员能够跟踪谁在何时登录到系统,纪录写入到/var/log/wtmp和/var/run/utmp。 2.错误日志–由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog向文件/var/log/messages报告值得注意的事件。 3.另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。 常用的系统日志包括: access-log 记录http/web的传输 acct/pact 记录用户命令 aculog 记录MODEM的活动 btmp 记录失败的纪录 lastlog 记录最近几次成功登录的事件和最后一次不成功的登录 messages 从syslog中记录信息(有的链接到syslog文件) sudolog 记录使用sudo发出的命令 sulog 记录使用su命令的使用 syslog 从syslog中记录信息(通常链接到messages文件) utmp 记录当前登录的每个用户 wtmp 一个用户每次登录进入和退出时间的永久记录 xferlog 记录ftp会话 系统日志大多为二进制形式,不能使用tail和cat等命令查看,但是我们可以使用以下命令去获取其中的信息,主要为who、w、users、last和ac。 who:who命令查询utmp文件并报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登录日期及远程主机。格式:who /var/log/wtmp 或者who /var/run/utmp w:w命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息。 users:users用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。 last:last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户,还可以指明某一用户,例:last … Continue reading

MySQL数据库中查找执行效率慢SQL语句

来源:ZOL.COM.CN | 2008年05月28日 | 作者:   启动Mysql时加参数–log-slow-queries来记录执行时间超过long_query_time秒的sql: /usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql–user=mysql –pid-file=/var/run/mysqld/mysqld.pid–skip-locking –port=3306 –socket=/var/run/mysqld/mysqld.sock –log-slow-queries=/var/log/mysql/slow.log   explain来了解SQL执行的状态。   explain select * from wp_postsG;   使用show status like “Handler_read%”; 来了解索引的效果。   Handler_read_key 值高表示索引效果好,Handler_read_rnd_next值高表示索引低效。   用show processlist 查看当前运行状态。   mysql> show processlist;   +—–+————-+——————–+   | Id | User | Host | db | Command | … Continue reading

mysql optimization

当你提交一个查询的时候,MySQL会分析它,看是否可以做一些优化使处理该查询的速度更快。这一部分将介绍查询优化器是如何工作的。如果你想知道MySQL采用的优化手段梢圆榭碝ySQL参考手册。   当然,MySQL查询优化器也利用了索引,但是它也使用了其它一些信息。例如,如果你提交如下所示的查询,那么无论数据表有多大,MySQL执行它的速度都会非常快: SELECT * FROM tbl_name WHERE 0;   在这个例子中,MySQL查看WHERE子句,认识到没有符合查询条件的数据行,因此根本就不考虑搜索数据表。你可以通过提供一个EXPLAIN语句看到这种情况,这个语句让MySQL显示自己执行的但实际上没有真正地执行的SELECT查询的一些信息。如果要使用EXPLAIN,只需要在EXPLAIN单词放在SELECT语句的前面: mysql> EXPLAIN SELECT * FROM tbl_name WHERE 0\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: NULL type: NULL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: NULL Extra: … Continue reading

regular expression

只含有汉字、数字、字母、下划线,下划线位置不限 Contains only Chinese characters, numbers, letters, underlined, underscores the open-location ^[a-zA-Z0-9_\u4e00-\u9fa5]+$