公司採用FTP的方式接收客戶的EDI訂單,近日客戶說某某訂單很久前已經通過FTP發送給我們了,為何還沒發貨,但經過我的反覆檢查,沒發現FTP上有該訂單,但客戶堅持說已經上傳了,看來要解決此糾紛只有查看FTP上的動作記錄,用資料來說話了。
公司FTP是基於Linux使用proftpd軟體來架設的,首先查看proftpd的設定檔:
vi /etc/proftpd.conf
得知Log檔案的路徑,如紅圈所示。
截取某個客戶ftp帳號操作部分的日誌內容,並且另存到新檔案裡:(下例中帳號為:ftpwbshop)
cat xferlog.processed|grep ftpwbshop > /home/ftpwbshop.log
可以得到多行如下的日誌內容:
Thu Dec 3 10:46:32 2009 0 120.32.171.4 2236 /vhost/vhostroot/cycxm2/www/uploadfile/20090307132822145.jpg a _ d r cycxm2 ftp 0 * c
該記錄每一個參數分別對應如下:
current-time 傳輸發生時刻 Fri Jan 9 10:07:20 2004
transfer-time 傳輸期間 0 秒
remote-host 遠程 ftp 客戶機的地址 192.168.0.88
file-size 傳輸檔案大小 320 B
file-name 傳輸檔案名稱 /home/redflag/partitioninfo
transfer-type 傳輸類型 b 表示為二進位傳輸,a 表示 ascii 傳輸
special-action-flag 特殊行為標記 _ ,C 表示 被壓縮的檔案、U 表示 未被壓縮、 T 表示被 tar 、_表示沒有特殊行為
direction 方向 i,為上傳,o為下載,d表示刪除
access- mode r 表示 為系統使用者,a 為 anonymous 使用者
username 使用者名稱 redflag
service-name 被調用的 ftp 伺服器軟體名字
authentication-method 認證方式,0 表示沒有
authen- ticated-user-id * 表示 沒有認證使用者id
completion-status 傳輸完成狀態 c 表示完成,i 表示沒有完成