因爲zimg特殊的圖片存儲結構及圖片命名規則,其遷移數據應該當至關簡單的,僅把對應的存儲圖片數據的文件夾複製便可。每每簡單的東西總會有一些成本在裏面,下面是我簡單的遷移測試過程當中遇到的一些問題,僅供參考【兩服務的配置文件異同不影響數據遷移】java
先排除低版本遷移高版本產生的問題,好比zimg 2.x 文件格式爲0_0,但新版本zimg 3.x存儲格式變爲0*0。windows
一、直接從A服務器,將數據下載到windows本地,再將本地文件上傳另外一個服務器B瀏覽器
二、直接從瀏覽器訪問B服務上的圖片地址,結果顯示404 Not Found!服務器
三、查看zimg日誌,因爲是默認日誌級別,並未實質性日誌輸出 工具
(2017/08/18 15:44:50:056841 [ERROR] 192.168.1.179 fail pic:f1cfc5f870c192fbfbc6b24a0c390b89 w:0 h:0 p:1 g:0 x:-1 y:-1 r:0 q:75 f:none)
四、修改B服務的zimg.lua配置文件,將日誌級別調爲7,即輸出debug詳細日誌測試
2017/08/18 15:44:50:055948 [DEBUG] Method: 0 2017/08/18 15:44:50:056029 [DEBUG] Got a GET request for </f1cfc5f870c192fbfbc6b24a0c390b89> 2017/08/18 15:44:50:056057 [DEBUG] md5 of request is <f1cfc5f870c192fbfbc6b24a0c390b89> 2017/08/18 15:44:50:056079 [DEBUG] get_img() start processing zimg request... 2017/08/18 15:44:50:056104 [DEBUG] whole_path: /usr/local/src/zimg/bin/img/967/1009/f1cfc5f870c192fbfbc6b24a0c390b89 2017/08/18 15:44:50:056133 [DEBUG] Path[/usr/local/src/zimg/bin/img/967/1009/f1cfc5f870c192fbfbc6b24a0c390b89] is A Dir. 2017/08/18 15:44:50:056164 [DEBUG] key: f1cfc5f870c192fbfbc6b24a0c390b89:0:0:1:0:-1:-1:0:75:none 2017/08/18 15:44:50:056322 [DEBUG] Cache Result: SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY 2017/08/18 15:44:50:056365 [DEBUG] Start to Find the Image... 2017/08/18 15:44:50:056387 [DEBUG] 0rig File Path: /usr/local/src/zimg/bin/img/967/1009/f1cfc5f870c192fbfbc6b24a0c390b89/0*0 2017/08/18 15:44:50:056423 [DEBUG] Got the rsp_path: /usr/local/src/zimg/bin/img/967/1009/f1cfc5f870c192fbfbc6b24a0c390b89/0*0_p1_g0_-1*-1_r0_q75.none 2017/08/18 15:44:50:056517 [DEBUG] Cache Result: SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY 2017/08/18 15:44:50:056551 [DEBUG] Not Hit Original Image Cache. Begin to Open it. 2017/08/18 15:44:50:056752 [DEBUG] Open Original Image From Disk Failed! 0 != 1 2017/08/18 15:44:50:056789 [DEBUG] Open Original Image From Disk Failed! 2017/08/18 15:44:50:056817 [DEBUG] zimg Requset Get Image[MD5: f1cfc5f870c192fbfbc6b24a0c390b89] Failed! 2017/08/18 15:44:50:056841 [ERROR] 192.168.1.179 fail pic:f1cfc5f870c192fbfbc6b24a0c390b89 w:0 h:0 p:1 g:0 x:-1 y:-1 r:0 q:75 f:none 2017/08/18 15:44:50:056881 [DEBUG] ============get_request_cb() ERROR!=============== 2017/08/18 15:44:50:106540 [DEBUG] Method: 0 2017/08/18 15:44:50:106610 [DEBUG] favicon.ico Request, Denied. 2017/08/18 15:44:50:106641 [DEBUG] headers: 1
五、仔細查看以上日誌,發現實際請求的文件記錄爲lua
/usr/local/src/zimg/bin/img/967/1009/f1cfc5f870c192fbfbc6b24a0c390b89/0*0_p1_g0_-1*-1_r0_q75.none
再回到B服務器對應的目錄位置,發現文件不存在。因此,404錯誤是正常的spa
六、打開xftp(也能夠是其它工具),發現傳輸到本地win過程當中文件名已經發生了變動->0*0變成了0_0, win認爲文件名中包含*是非法字符,直接轉換掉了。(根本未考慮到文件名發生變動的問題)debug
七、在A服務器進行文件tar.gz壓縮處理,再下載到本地,文件名保持不變,再上傳到B服務器對應目錄,進行tar解壓操做,便可。日誌
再次打開剛纔遷移的文件,發現能夠正常顯示了。
關注公衆號,獲取更多相關技術文章