作者 主題: Apache2 Log問題  (閱讀 4808 次)

0 會員 與 1 訪客 正在閱讀本文。

Yanny

  • 憂鬱的高中生
  • ***
  • 文章數: 177
    • 檢視個人資料
Apache2 Log問題
« 於: 2008-12-22 17:07 »
各位大大,小弟在這邊請問一個apache2 log 的問題!
小弟的系統是Debian etc,小弟在那台機器家目錄上放了每日要出的資料
我們有一個程式,它會透過http的協定去抓取每日要更新的資料
我們現在發生一個問題,我們懷疑是資料抓取不完全,可是我在apache2的access.log和error.log上,
完全沒辦法去判斷每一個檔案到底有沒有完整抓完,我想請問各位大大,有沒有辦法知道apache2上的log可以顯示檔案抓取成功或失敗

在這裡先謝謝各位大大的幫忙!


twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5396
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: Apache2 Log問題
« 回覆 #1 於: 2008-12-22 17:12 »
"有一個程式" 沒寫好的可能性比較大一些. 測試一下, 比對一下應有的大小與抓到的大小就知道有沒有抓完了.

Yanny

  • 憂鬱的高中生
  • ***
  • 文章數: 177
    • 檢視個人資料
回覆: Apache2 Log問題
« 回覆 #2 於: 2008-12-22 18:13 »
謝謝twu2大大的回答,程式是由國外工程師寫的,我們會提建議給他,但我們還是要查為什麼傳送會失敗!
小弟找到了如何知道檔案傳輸有沒有成功,如下:
111.111.111.111 - - [12/Dec/2008:23:45:25 +0800] "GET /aaa/20080917.zip HTTP/1.1" 206 521221 "-" "Mozilla/3.0 (compatible)"

標準有傳完應該是顯示200,而它顯示的是206,206代表的是Partial Content
可是小弟不知道這代表什麼,英文直翻是部份內容,有沒有大大知道它代表什麼意思嗎?為什麼會發生這個問題呢?
謝謝各位大大

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5396
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: Apache2 Log問題
« 回覆 #3 於: 2008-12-22 18:47 »
那也是 client 的問題吧. client 說它有部份在 cache 裡頭, 所以只會再傳剩下的部份 (且成功傳完剩下的部份).
也許網址都一樣, 而 client 沒有在 header 指明 no-cache 吧.

如果 client 沒做, 也許是中間會經過 transparent proxy 所造成的吧.
« 上次編輯: 2008-12-22 18:51 由 twu2 »

fillano

  • 鑽研的研究生
  • *****
  • 文章數: 526
    • 檢視個人資料
回覆: Apache2 Log問題
« 回覆 #4 於: 2008-12-23 01:26 »
http可以做partial content request的(續傳就可以這樣做出來,也可以做出streaming的效果),如果是這樣的request,我想回應的就是206,後面那一串數字是傳了多少byte的資料的意思。

你可以用`wget -c url`來測測看,在還沒下載完按下ctrl-c強制結束,然後重新執行一次`wget -c url`來完成下載,這時進去access.log就會看到206 xxxxx,後面這一串就是你這一次partial download下載了多少byte。wget的訊息會顯示剩餘多少要下載,這個數字應該access.log裡顯示的數字一致。
Sapere aude! Habe Mut, dich deines eigenen Verstandes zu bedienen! ist also der Wahlspruch der Aufklärung.

Yanny

  • 憂鬱的高中生
  • ***
  • 文章數: 177
    • 檢視個人資料
回覆: Apache2 Log問題
« 回覆 #5 於: 2008-12-23 11:49 »
謝謝兩位大大的講解,小弟大約了解狀況了,我會嘗試從大大講的方向去查,謝謝各位大大!

Yanny

  • 憂鬱的高中生
  • ***
  • 文章數: 177
    • 檢視個人資料
回覆: Apache2 Log問題
« 回覆 #6 於: 2008-12-24 11:28 »
不好意思,小弟又回來問各位大大一個問題
小弟透過程式用Http協定去抓取100多個檔案,每個檔案大約1Mb到2MB左右
檔案的主機是Debian + apache2,想請問大大們有沒有遇過檔案抓取不完整的情況
,小弟不了解為什麽檔案會抓取不完整,因為time out的原因嗎?有辦法避免這種狀況嗎?
請大大們幫忙一下,謝謝!

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5396
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: Apache2 Log問題
« 回覆 #7 於: 2008-12-24 11:34 »
程式? 自己寫的? 應該是沒寫好.

fillano

  • 鑽研的研究生
  • *****
  • 文章數: 526
    • 檢視個人資料
回覆: Apache2 Log問題
« 回覆 #8 於: 2008-12-24 12:14 »
能不能講詳細一點?用怎樣的程式(language等)透過怎樣的方法(library等)去做的?過程有出現什麼error訊息?程式裡面是不是有做簡單的log?
Sapere aude! Habe Mut, dich deines eigenen Verstandes zu bedienen! ist also der Wahlspruch der Aufklärung.

Yanny

  • 憂鬱的高中生
  • ***
  • 文章數: 177
    • 檢視個人資料
回覆: Apache2 Log問題
« 回覆 #9 於: 2008-12-29 12:05 »
先謝謝各位大大的幫忙,程式是由國外工程師寫的,加上小弟對程式不熟,所以無法回應大大一些問答
程式執行過程中無任何錯誤訊息,程式也無記錄Log的功能,關於這些小弟會請老外修改一下程式,加上大大講的一點功能
只是小弟有一個疑問,當我用Windows Vist 的IE 7去centos的網站去download CentOS5.2的DVD ISO檔
假設它的檔案是4.6GB,可是當它下載完成卻只有4.2GB,可是IE卻會顯示下載完成,當然檔案是不能用的
這是什麼原因會造成的問題呢?有沒有大大幫小弟解釋一下呢,謝謝!

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: Apache2 Log問題
« 回覆 #10 於: 2008-12-29 12:46 »
以 4G 這個值來看, 個人會推測幾件事:
1. client 端的硬碟用了 FAT32 格式.
2. 在 client/server 軟體版本過舊, 所以對檔案長度只能認定為 4G .
3. 其他相關程式的檔案長度問題.
冷笑話: 我的 IP 是 127.0.0.1

Yanny

  • 憂鬱的高中生
  • ***
  • 文章數: 177
    • 檢視個人資料
回覆: Apache2 Log問題
« 回覆 #11 於: 2008-12-29 13:54 »
謝謝Slime大大的回應,小弟的硬碟是使用NTFS
小弟說的4G是拿來舉例的,不好意思讓大大誤會了,因為這是我上個星期發現的問題,腦海印象中是4.6G
小弟剛才有上網再確定一次,官方的網站ISO檔是3.7G,小弟下載下來卻只有3.5G或3.6G(檔案刪除,沒有很確定)
可是為什麼會顯示檔案下載完成呢?可以請大大們再次幫小弟解惑嗎?

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5396
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: Apache2 Log問題
« 回覆 #12 於: 2008-12-29 14:17 »
改用別的軟體如 Firefox 下載看看吧.
如果一定要用 IE, 那... IE 的問題請去問 MS 吧. 畢竟又沒 source code, 誰知道裡頭為什麼會認為下載結束了.

harrier

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 1856
  • 性別: 男
    • 檢視個人資料
    • 國屬武裝兵
回覆: Apache2 Log問題
« 回覆 #13 於: 2008-12-29 15:46 »
小弟剛才有上網再確定一次,官方的網站ISO檔是3.7G,小弟下載下來卻只有3.5G或3.6G(檔案刪除,沒有很確定)
可是為什麼會顯示檔案下載完成呢?可以請大大們再次幫小弟解惑嗎?

這沒啥問題..多的是這樣...
通常發生在網路線路很忙碌的時候(我不知道對方主機CPU負載忙不忙,但網路很忙)
你用 FTP 或 HTTP 續傳軟體,續傳一下應該就可以完整抓到了。
...90Net(90:1200/1203),GameNET(99:700/707),ALLNet(92:9200/3111),InfoNet(30:100/103)..MaximusCBCS(浮懷),AirNet,TenderNet,StormNet,FidoNet...
<<- www.nas.vg ->>

Yanny

  • 憂鬱的高中生
  • ***
  • 文章數: 177
    • 檢視個人資料
回覆: Apache2 Log問題
« 回覆 #14 於: 2008-12-29 16:07 »
謝謝兩位大大的解答,那是因為對方網路太忙,導致time out,所以才會出現這樣的問題嗎?