今天處理一個case: 數據庫異常,連接數突增。
想著分析一下慢日志,可是一看慢日志都好幾G了,而且是短日志格式,找到那個時間點相對比較難。於是寫了一個腳本從慢日志按時間提取點日志。腳本:
https://github.com/wubx/mysql-binlog-statistic/blob/master/bin/cutlogbytime
使用方法:
復制代碼 代碼如下:cutlogbytime
#用於從慢日志用截取一個時間段的日志方便分析
./cutlogbytime /path/slowlogfile starttime endtime > dstfile.log
時間需要寫時戳
mysql> select unix_timestamp('2013-04-05'); +------------------------------+ | unix_timestamp('2013-04-05') | +------------------------------+ | 1365091200 | +------------------------------+ 1 row in set (0.00 sec) mysql> select unix_timestamp('2013-04-06'); +------------------------------+ | unix_timestamp('2013-04-06') | +------------------------------+ | 1365177600 | +------------------------------+ 1 row in set (0.00 sec)
./cutlogbytime /path/slowlogfile 1365091200 1365177600 > 20130405_slow.log
這樣得到一天的日志文件就小一點的也容易分析了。而且可以根據天的文件,在取一天的某個時間點的日志。