發表文章

SVN hook scripts如何debug

最近準備調整一些舊程式,於是在 Subversion 上新增四個版本庫(repository),並設定了post-commit這個hook。當commit程式時,自動做到以下動作 程式update到 /codepath 這目錄 將目錄 /codepath ,同步到另一台主機 這四個版本庫的hook設定可說是完全一樣(程式路徑當然不同)。沒想到,居然遇到一個奇怪的狀況。這四個版本庫中,兩個hook完全如預期的正常運作。另外兩個,雖然會做第二步驟的同步,第一步驟的update卻沒執行。 重新查看一遍所有設定,確認除了目錄不同,其他設定都一樣。增加了SVN的log來追查問題,看來hook也有執行。到底發生了什麼問題?真是令人百思不得其解。 最後,同事使用了一種語法去取得錯誤的資訊來debug,終於找到了問題。特別記錄一下… 他於hook中,使用 2>&1 。將shell script的執行結果,無論是成功、或失敗的訊息,都導向指定的log中。範例如下… /usr/local/bin/svn update /codepath > /tmp/hook_test.log 2 >&1 /path/synccode.sh 看到錯誤的log,就知道問題所在。原來,有問題的那兩個版本庫,裡面含有中文檔名、或中文目錄名。這些檔案是採用big5編碼。因此,調整如下就恢復正常了。 export LC_CTYPE = "zh_TW.Big5" /usr/local/bin/svn update /codepath > /tmp/hook_test.log 2 >&1 /path/synccode.sh

Memcached::get(): could not uncompress value的錯誤

同事提到一個問題,他的程式到memcache取資料時,都會出現如下的錯誤訊息… Memcached::get(): could not uncompress value 當下的第一個反應,先查看產生資料塞到memcache的程式,是否有開啟壓縮功能? 查過後,確認程式有設定 Memcached::OPT_COMPRESSION 參數,關閉壓縮資料的功能(關掉壓縮功能,是為了和其他不能升級的系統相容 :() 這就神奇了…明明有設定不壓縮,卻還是出現和壓縮有關的錯誤? 抽絲剝繭後,不經懷疑是不是新版的memcache還是會自動壓縮?( memcached 2.0 開始,有不少異動。有興趣可以參考 Changelog for memcached )

codeigniter與MySQL server has gone away

最近在做一個處理,於CLI下程式會下指令給splunk撈取資料,並等候splunk回覆結果。最後再將結果寫入資料庫。當查詢大量的資料時,等待splunk的時間會變長。 原本程式運作很正常,但在我重構程式調整操作DB的方式,以符合線上環境使用後,看log卻發現有時居然會出現了以下的錯誤… A Database Error Occurred Error Number: 2006 MySQL server has gone away 查了一下mysql官方文件,相關資料如下… http://dev.mysql.com/doc/refman/5.0/en/gone-away.html http://dev.mysql.com/doc/refman/5.0/en/error-messages-client.html#error_cr_server_gone_error 看了說明,我遇到的狀況和time out比較相同。和DBA討論、測試後…果然沒錯…就把問題給解決了~ 先說明我做了什麼修改,導致遇到此狀況?

經菜公坑瀑布上小觀音山西峰欣賞火山口

圖片
台灣最大的火山口-小觀音山火山口 天地不仁,以萬物為芻狗。一週前依天氣預報初登 小觀音山西峰 ,結果是濃霧狂風。一週後再度依天氣預報選擇上山。但…實在不想走相同的行程,於是增加了菜公坑瀑布。此行依舊由鞍部停車場出發,經山之屋後沿淡基橫斷古道,到菜公坑步道口,往下經菜公坑古道東線轉到菜公坑瀑布。之後循燒炭古道,接上往小觀音山西峰,最後回到鞍部,完成一個O形。 上次 第一次造訪 ,就注意到沿途有不少岔路,。雖然很多岔路口都可見藍天隊的指標,為了安全還是特別準備了前人分享的GPS軌跡,並利用我常使用有支援離線地圖的GPS導航APP - oruxmaps (這個免費的GPS導航APP為android版本,有興趣瞭解這個免費的GPS軟體,可以查看我之前所寫的一些 oruxmaps介紹 ),來應付這種原始、多岔路、又沒走過的山路…

山之家-小觀音山西峰-鞍部O型之行

圖片
山林春天長出的新葉,讓山林的顏色多了層次~ 很久以前閱讀過林宗聖先生所著的兩本著作 陽明山十大傳奇 、及 台灣百名山1:大屯火山名山傳奇 後,才知道陽明山上好多地方沒去過,有七星池、錐狀火山磺嘴山、及直徑1200公尺的小觀音山火山口、及神秘的七星堆(凱達格蘭遺址)。而後,也慢慢的找資料,逐一去探訪… 凱達格蘭遺跡(七星堆)造訪記錄 七星池造訪記錄 磺嘴山造訪記錄 當中,一直以為小觀音山是軍事管制區不能進入(每次經過鞍部的戰備道入口時,看到鐵柵欄總覺得不可進入)。直到幾個月前,看到很多山友都造訪小觀音山西峰,才知道可以進入,也就興起一探小觀音山360度火山口的念頭。

南港山縱走-南港上挹翠山莊下

圖片
正在上九五峰時,看到一條石龍子咬者另一尾石龍子 一個月前,才走了一趟 南港山縱走 。那時是由南港進、象山出。這次依舊採南港進,但預計接糶米古道,再由吳興街600巷出… 清明節即將到來,而南港山附近剛好有大片的公墓、及一個軍人公墓。因此,坐公車到中華科技大學時,附近已經很多準備掃墓、慎終追遠的人們再等公車準備進入已經交通管制的公墓區。 高速公路車流量不小,應該是清明節近了 沒想到,山上也很熱鬧。因為這次居然遇到了四獸山越野跑挑戰賽。當天天氣剛好忽然轉熱,加上沒風,走路都滿頭大汗了。真佩服這些參加四獸山越野跑挑戰賽的人們,居然還可以跑山…

南港山縱走親山步道-南港進象山出

圖片
南港山縱走親山步道-土地公廟 南港山位於信義區、南港區。我比較常走的是象山、拇指山這一帶,雖然偶爾會到九五峰,卻也都只到九五峰就折返,從未走到南港那端,完成所謂的南港山縱走。 自從ubike開放前30分鐘免費開始,總是很想嘗試由象山這一頭騎ubike到南港中華科技大學那頭的租借站,在經由南港山縱走親山步道走回象山這頭,完成一個O形。 這次,終於成行了。此行由象山這頭中強公園ubike租借站出發,騎到位於南港凌雲市場的ubike租借站。步行到中華科技大學側門旁的南港山登山口,經鞍部、九五峰、南港山、拇指山、象山、出靈雲宮登山口,回到中強公園。