老地方冰果室交流區

歡迎冰果室讀者在此交流
現在的時間是 12/06/2019 5:10 pm

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 7 篇文章 ] 
發表人 內容
文章發表於 : 04/25/2006 10:12 pm 
離線
基本會員

註冊時間: 02/24/2005 6:21 pm
文章: 83
各位大大好....
小弟之前有發言過一篇文章
<http://ubb.frostyplace.com.tw/viewtopic.php?t=14517&highlight=>
是有關自動下在某頁中的圖片

:arrow:%%%第一個問題
小弟現在也一個瓶頸就是,curl是否可以在下載此圖片時,自動去檢察我之前下載的檔案,和我之前的檔案比較是否我現在要下載的檔案室最新的。

有就是說我要下在的檔案都是同一路徑而且檔名都是相同的,所以在下載時為了避免覆蓋舊的檔案是否可以利用curl來做到這樣的需求??

例如:

/usr/bin/curl ftpsv.cwb.gov.tw/pub/forecast/I04.jpg -s -o ~/Documents/maps/"CWB_00.jpg" 2>&1 > /dev/null

我在下三個個小時又要去下載這個檔案,但是中央氣象局在post檔案時可能會延遲,所以我要去確認他與我前三個小時所下載的東西是否檔案大小或最新修正時間不同????這是第一個問題

:arrow: %%%第二個問題
如果我在要下載的檔案和三小時前是一樣的,那我選擇不下載,但是因為下載算是失敗所以我必須讓他可能再1小時再下載一次???


以上是小弟兩個小小的疑問,尋求UNIX魔人解答唷....謝謝各位啦!~@#$%^ :roll:
:roll:

_________________
Safina Fan
Mail:safina388@gmail.com
Department Military of Meteorology「D.M.M.」


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/25/2006 11:06 pm 
離線
討論區管理員
頭像

註冊時間: 04/19/2001 1:01 am
文章: 7056
來自: The '60s
你需要的邏輯比較複雜,基本上需要自己寫個簡單的程式來判斷是否需要更新。

_________________
圖檔


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/26/2006 6:23 am 
離線
基本會員

註冊時間: 02/24/2005 6:21 pm
文章: 83
bryanchang 寫:
你需要的邏輯比較複雜,基本上需要自己寫個簡單的程式來判斷是否需要更新。



:D :D
終於有人回答我勒....我找了好久阿

我知道我可以先寫好幾個小程式(日期、比較更新的程式)
然後在寫一個script去呼叫這一些小程式

只是不知從何下手阿????


請大師指引呀...!!@#$ :badgrin:

_________________
Safina Fan
Mail:safina388@gmail.com
Department Military of Meteorology「D.M.M.」


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/26/2006 6:36 am 
離線
討論區管理員
頭像

註冊時間: 04/19/2001 1:01 am
文章: 7056
來自: The '60s
curl -z/--time-cond <date expression> 勉強可以達成你想要做的事情,不過比較簡單的是改用 wget。你可以每小時叫一次 wget -N :

When running Wget with -N, with or without -r, the decision as to whether or not to download a newer copy of a file depends on the local and remote timestamp and size of the file. -nc may not be specified at the same time as -N.

http://www.die.net/doc/linux/man/man1/wget.1.html

_________________
圖檔


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/26/2006 8:48 am 
離線
討論區管理員
頭像

註冊時間: 05/18/2001 1:01 am
文章: 2475
來自: Forgotten Realm
像 wget 或 curl 他們都是利用 HTTP 回傳 header 裡面附加的時間資訊來判斷,
一般靜態網頁還好,但是 CGI 產生的動態網頁通常不會附加這個資訊。
除了這個問題以外,另一個問題則是如何記錄更新時間。
當用 curl -o 指令時,你的檔案的 create time 和 modify time 都會是現在時刻,
而非原檔案更新時刻。

你的要求有兩個方法解決:

1. 記錄每次連線時伺服器上檔案更新的時間。

你用 curl -I 指令就可以把 HTTP header 抓出來,
然後用 grep 取出 last-modified 時間,
用 sed 分割出時間字串,
自己寫一個 PHP script 把時間字串轉換成 YYYYMMDDhhmm 格式,
然後再用 touch 指令把剛剛抓下來的檔案更新時間改成 last-modify 時間。

2. 不管三七二十一,每小時抓一次,與最後一個檔案相比,如果相同就砍掉。

用 curl 指令時存成固定的檔名,例如 00000000.jpg
用 ls | tail -n 1 指令抓出目錄中最後一個檔案名稱(這就是為什麼要用 0000 當檔名)
用 diff 指令比對兩個檔案
如果相同 [$? eq 0] 則把檔案砍掉
如果不相同則把檔案改名成 YYMMDDhhmm 格式


閣下似乎每年三四月都會重新碰到一次同樣的問題,
而且一年比一年複雜?
在這樣下去,以後恐怕非要寫程式才能搞定了。
誠心建議您去學學 PHP,
用來解決這些簡單 Task 非常好用。

_________________
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/26/2006 12:40 pm 
離線
基本會員

註冊時間: 02/24/2005 6:21 pm
文章: 83
ulysses大大還真細心阿,連我啥時候發表的文章都還還記得

我還是學生...只是這一些問題未來都碰得到,所以想要趕快解決

我知道大概的邏輯,只是你說PHP可以達到我的需求...??>不太懂<

可以為我詳細解說一下嗎???

從查一些技令手冊...還針部知道要從何看起..???

_________________
Safina Fan
Mail:safina388@gmail.com
Department Military of Meteorology「D.M.M.」


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/27/2006 8:45 am 
離線
討論區管理員
頭像

註冊時間: 05/18/2001 1:01 am
文章: 2475
來自: Forgotten Realm
PHP 是一種腳本式(Script)程式語言,
程式架構比較鬆散,資料格式也不嚴謹,
但是程式邏輯控制很完整,
用來處理小東西很好用。

PHP 的語法和 C 很像,連使用的 API 也刻意包裝成 C standard library,
所以會 C 語言的人學 PHP 可以很快上手。

PHP 算是比較高階的語言,不適合用來處理低階的 I/O,
但是用來作字串的處理或是整合應用非常方便。
尤其是有 execute()、system() 等 API,可以讓你直接呼叫外部程式來處理,
然後還可以把外部程式處理完成的結果拿來作進一步的處理。
尤其最方便的一點是,PHP 是 Mac OS X 內建的。

目前大部分 PHP 的應用情境都是用在 Web 上,
所有的 PHP 書籍也都是以 Web 為出發點來講解。
所以甚至有很多用 PHP 寫程式的工程師還不知道 PHP 也可以用來作為 CLI 程式。
其實 PHP 本身作為一種 Interpreter 語言,
可以依照標準 Shell Script 的做法,
第一行加上 #!/usr/bin/php
在把 script 檔改成可執行即可在 CLI 中直接使用。

學習 PHP,最好的出發點就是官網, http://www.php.net
官網的使用手冊與 API 查詢功能設計相當傑出,
要查詢一個 API 的用法,例如 datetime(),
只要在瀏覽器輸入 http://php.net/datetime 就會自動幫你找到。

_________________
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.


回頂端
 個人資料  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 7 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
POWERED_BY
正體中文語系由 竹貓星球 維護製作