由于zimg特殊的图片存储结构及图片命名规则,其迁移数据应该当相当简单的,仅把对应的存储图片数据的文件夹复制即可。往往简单的东西总会有一些成本在里面,下面是我简单的迁移测试过程中遇到的一些问题,仅供参考【两服务的配置文件异同不影响数据迁移】

先排除低版本迁移高版本产生的问题,比如zimg 2.x 文件格式为0_0,但新版本zimg 3.x存储格式变为0*0。

1、直接从A服务器,将数据下载到windows本地,再将本地文件上传另一个服务器B

2、直接从浏览器访问B服务上的图片地址,结果显示404 Not Found!

3、查看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)

4、修改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

5、仔细查看以上日志,发现实际请求的文件记录为

/usr/local/src/zimg/bin/img/967/1009/f1cfc5f870c192fbfbc6b24a0c390b89/0*0_p1_g0_-1*-1_r0_q75.none

再回到B服务器对应的目录位置,发现文件不存在。所以,404错误是正常的

6、打开xftp(也可以是其它工具),发现传输到本地win过程中文件名已经发生了变更->0*0变成了0_0, win认为文件名中包含*是非法字符,直接转换掉了。(根本未考虑到文件名发生变更的问题)

7、在A服务器进行文件tar.gz压缩处理,再下载到本地,文件名保持不变,再上传到B服务器对应目录,进行tar解压操作,即可。

再次打开刚才迁移的文件,发现可以正常显示了。

关注公众号,获取更多相关技术文章

zimg服务器图片数据迁移后,图片404异常的问题解决的更多相关文章

  1. 机器学习进阶-图像形态学变化-礼帽与黑帽 1.cv2.TOPHAT(礼帽-原始图片-开运算后图片) 2.cv2.BLACKHAT(黑帽 闭运算-原始图片)

    1.op = cv2.TOPHAT  礼帽:原始图片-开运算后的图片 2. op=cv2.BLACKHAT 黑帽: 闭运算后的图片-原始图片 礼帽:表示的是原始图像-开运算(先腐蚀再膨胀)以后的图像 ...

  2. Mysql 数据迁移后 启动出错

    今天上班后不知道为什么,mysql一直无法启动,折腾了半天于是决定重装 我本地的server用的是wamp , 重装的时候, 要进行数据备份 , 我使用的最简单粗暴的备份方式, 就是直接进入到mysq ...

  3. Oracle数据迁移后由列的直方图统计信息引起的执行计划异常

    (一)问题背景 在使用impdp进行数据导入的时候,往往在导入表和索引的统计信息的时候,速度非常慢,因此我在使用impdp进行导入时,会使用exclude=table_statistics排除表的统计 ...

  4. 纠错:基于FPGA串口发送彩色图片数据至VGA显示

    今天这篇文章是要修改之前的一个错误,前面我写过一篇基于FPGA的串口发送图片数据至VGA显示的文章,最后是显示成功了,但是显示的效果图,看起来确实灰度图,当时我默认我使用的MATLAB代码将图片数据转 ...

  5. Bash实践:抽样检测数据迁移至Redis集群后的数据一致性

    熟悉了一段时间的Bash编程,因此借此任务操作一把bash编程,主要涉及到Redis单节点与Redis集群的操作 1. 任务背景 近日有个任务需要将历史的Redis(主从节点)中的数据迁移至Redis ...

  6. oracle11g rac asm存储数据迁移

    OS:rh6.4 ORACLE 11g RAC ASM OCR和VOTING DISK在crs磁盘组,控制文件.数据文件.参数文件在DATA组. 1.备份数据库 RUN {ALLOCATE CHANN ...

  7. EF Code First:实体映射,数据迁移,重构(1)

    一.前言 经过EF的<第一篇>,我们已经把数据访问层基本搭建起来了,但并没有涉及实体关系.实体关系对于一个数据库系统来说至关重要,而且EF的各个实体之间的联系,实体之间的协作,联合查询等也 ...

  8. EF Code First:实体映射,数据迁移,重构

    经过EF的<第一篇>,我们已经把数据访问层基本搭建起来了,但并没有涉及实体关系.实体关系对于一个数据库系统来说至关重要,而且EF的各个实体之间的联系,实体之间的协作,联合查询等也都依赖于这 ...

  9. Entity Framework CodeFirst数据迁移

    前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是“Database First”还是“Model First”当模型发生改变了都可以通过Visual ...

随机推荐

  1. Assertion failure in UITableViewCell layoutSublayersOfLayer解决办法

    iOS6 设备在更新UITableViewCell的时候遇到了 Assertion failure in -[UITableViewCell layoutSublayersOfLayer:], /So ...

  2. Win10《芒果TV》商店版跻身Windows商店《热门免费应用》前12强

    2017立春上班的第一天,让人惊喜的好日子,春节过后,Win10<芒果TV>商店版跻身Windows商店<热门免费应用>前12强,露出尖尖头,这个来自广大用户和合作伙伴们一直以 ...

  3. ORACLE 错误 ora-01830 解决方法

    http://www.cnblogs.com/BetterWF/archive/2012/06/20/2556442.html 错误产生原因:date类型不能包含秒以后的精度. 如日期:2012-06 ...

  4. RedHat 7.3 修改ASM磁盘绑定路径

    RedHat 7中,很多命令发生了改变,绑定磁盘不再是start_udev,而是udevadm,具体绑定方式,请看另一篇博文: http://www.cnblogs.com/zx3212/p/6757 ...

  5. 领域驱动设计(DDD)的实践经验分享之ORM的思考

    原文:领域驱动设计(DDD)的实践经验分享之ORM的思考 最近一直对DDD(Domain Driven Design)很感兴趣,于是去网上找了一些文章来看看,发现它确实是个好东西.于是我去买了两本关于 ...

  6. mysql练习(一)

    练习一 创建表,并插入相关数据 CREATE TABLE email ( ID INT NOT NULL PRIMARY KEY, Email VARCHAR() ) INSERT INTO emai ...

  7. JS 浮点加减乘除运算

    //浮点数加法运算 function FloatAdd(arg1,arg2){ var r1,r2,m; try{r1=arg1.toString().split(".")[1]. ...

  8. 教你如何快速使用Github

    以前看过几篇github的使用教程,感觉还是不是很清晰,自从看到了这篇,通俗易懂,也学会基本的使用了,在此为大家推荐.(转自知乎,为了能让更多的人看到,请允许我使用 “原创”,如果侵权请联系.) Gi ...

  9. Qt技术优势

    1. Qt这个C++的图形库由Trolltech在1994年左右开发.它可以运行在Windows,Mac OS X, Unix,还有像Sharp Zaurus这类嵌入式系统中.Qt是完全面向对象的. ...

  10. 使用C++还是QML(QML容易使用和维护,效果好)

    本质上,Qt 是一个C++类库.在引入 QML 以前,所有的开发都是基于 C++ 的,但到了 Qt 5,QML 和 Qt Quick 成为了 Qt 的核心之一,导致很多初学者在犹豫是否还需要学习 C+ ...