天天看點

一些工作中遇到的問題分享當bash指令中有warning,想消除warning怎麼做?要分析一個很大(10G)的nginx日志,将最近5分鐘的access.log進行分析,怎麼做?檢視某個端口有哪些程式在用?php腳本程式press continue...怎麼寫?如何讓php的json_encode的時候不增加反斜杠?php中發送http請求如何不設定本機host就可以把請求指到特定IP

這些是在工作過程中遇到的問題

cat access.log 2> /dev/null 将系統error不傳回到控制台

這裡使用2> /dev/null

這裡不能使用進階語言,把10g的日志讀到記憶體中再進行處理是不合理的

使用bash,cat+grep? no 有興趣的可以試試,太慢了...原因,access.log的日期是從舊到新的,從第一行進行cat是非常緩慢的

可以使用:

tac access.log 2>/dev/null| awk -f: \'{timestamp = 2∗3600+2∗3600+3 * 60 ;if(timestamp < 232123213) exit 1; else {print timestamp,"\t",$4}}'

亮點是使用tac

cat /etc/services |grep 9000

1

2

3

4

5

6

7

8

9

10

11

<code>&lt;?php</code>

<code>echo</code><code>"start"</code> <code>. php_eol;</code>

<code>echo</code><code>"press [y] to continue... "</code> <code>. php_eol;</code>

<code>if</code><code>(trim(fgets(stdin)) ==</code><code>"y"</code><code>)</code>

<code>{</code>

<code>        </code><code>echo</code><code>"yes"</code><code>;</code>

<code>        </code><code>exit;</code>

<code>}</code>

<code>echo</code><code>"no"</code><code>; exit;</code>

<code>?&gt;</code>

str_replace('\\/', '/', json_encode("2011/7/11"));

如果php版本是5.4的話:

echo json_encode("2011/7/11", json_unescaped_slashes);

<a href="http://stackoverflow.com/questions/6743554/problem-slashwith-json-encode-why-and-how-solve-it" target="_blank">參考文章</a>

兩種方法:

12

13

14

15

16

17

18

19

20

21

22

23

24

<code>$ch = curl_init();</code>

<code>curl_setopt($ch, curlopt_returntransfer,</code><code>1</code><code>);</code>

<code>curl_setopt($ch, curlopt_proxy,</code><code>"192.168.100.19:80"</code><code>);</code>

<code>$result =  curl_exec($ch);</code>

<code>curl_close($ch);</code>

<code>if</code><code>($result ==</code><code>'11'</code><code>) {</code>

<code>        </code><code>echo</code><code>'ok1'</code><code>;</code>

<code>curl_setopt($ch, curlopt_header,</code><code>0</code><code>);</code>

<code>curl_setopt($ch, curlopt_httpheader, array(</code><code>"host: yejianfeng.vm1.com"</code><code>));</code>

繼續閱讀