己所不欲,勿施于人 [登录·注册]

吕滔博客

首页 开发 运维 工具 摄影

discuz附件图片迁移阿里云OSS

工具 memory 发布于September 21, 2017 标签: Linux, PHP

discuz附件图片迁移阿里云OSS,该方法也适用于七牛、又拍云

数据库相关操作

涉及到的数据库表:

pre_forum_attachment 
pre_home_pic 
pre_portal_article_title 
pre_portal_attachment 
pre_portal_topic_pic

1、pre_forum_attachment

update pre_forum_attachment_0 set remote = '1'; 
update pre_forum_attachment_1 set remote = '1'; 
update pre_forum_attachment_2 set remote = '1'; 
update pre_forum_attachment_3 set remote = '1'; 
update pre_forum_attachment_4 set remote = '1'; 
update pre_forum_attachment_5 set remote = '1'; 
update pre_forum_attachment_6 set remote = '1'; 
update pre_forum_attachment_7 set remote = '1'; 
update pre_forum_attachment_8 set remote = '1'; 
update pre_forum_attachment_9 set remote = '1';

2、pre_portal_article_title,pre_portal_attachment,pre_portal_topic_pic

update pre_portal_article_title set remote=1; 
update pre_portal_attachment set remote=1; 
update pre_portal_topic_pic set remote=1;

3、由于相册表中的remote取值还有一种情况为remote=2(论坛附件图片保存到相册)pre_home_pic,执行语句:

update pre_home_pic set remote=remote+1;

按照以上操作后,打开网站附件--属性看看是否已经在远程地址上了,大功告成。

部分帖子处理

UPDATE `pre_forum_post` SET `message` = replace(message, 'http://www.lvtao.net/data/attachment', 'http://img.lvtao.net')  WHERE  `message` LIKE '%data/attachment/%';

UPDATE `pre_forum_post` SET `message` = replace(message, 'data/attachment', 'http://img.lvtao.net')  WHERE  `message` LIKE '%data/attachment/%';

门户文章帖子

UPDATE `pre_portal_article_content ` SET `message` = replace(message, 'http://www.lvtao.net/data/attachment', 'http://img.lvtao.net')  WHERE  `content ` LIKE '%data/attachment/%';

UPDATE `pre_portal_article_content ` SET `message` = replace(message, 'data/attachment', 'http://img.lvtao.net')  WHERE  `content ` LIKE '%data/attachment/%';

本地附件迁移至oss

下载地址 ossimport-2.2.2.zip 解压后这熊样儿

ossimport
├── bin
│   └── ossimport2.jar  # 包括Master、Worker、TaskTracker、Console四个模块的总jar
├── conf
│   ├── local_job.cfg   # Job配置文件
│   └── sys.properties  # 系统运行参数配置文件
├── console.bat         # Windows命令行,可以分布执行调入任务
├── console.sh          # Linux命令行,可以分布执行调入任务
├── import.bat          # Windows一键导入,执行配置文件为conf/local_job.cfg配置的数据迁移任务,包括启动、迁移、校验、重试
├── import.sh           # Linux一键导入,执行配置文件为conf/local_job.cfg配置的数据迁移任务,包括启动、迁移、校验、重试
├── logs                # 日志目录
└── README.md           # 说明文档,强烈建议使用前仔细阅读

然后仔细看README改配置.执行就OK

dz后台配置远程附件

安装这货ossftp-1.0.2-linux-mac.zip,解压后直接运行

Windows: 双击运行start.vbs即可
Linux: 打开终端,运行
$ bash start.sh
Mac: 双击start.command,或者在终端运行
$ bash start.command

上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口.
我不需要web,直接在服务器上

python ossftp/ftpserver.py &

然后FTP上

主机: 127.0.0.1
登录类型: 正常
用户:access_key_id/bucket_name
密码:access_key_secret

至于dz嘛,我就给张官方的介绍图啦
1.png
1.需要选择启用远程附件。
2.启用SSL链接为 否。
3.FTP服务器地址, 即运行ossftp工具的地址,一般填127.0.0.1即可。
4.FTP服务的端口号,默认为2048。
5.FTP登录用户名,格式为AccessKeyID/BukcetName, 注意这里的’/‘不是’或‘的意思。
6.FTP的登录密码,为AceessKeySecrete。
7.被动模式连接,选择默认的是即可。
2.png
8.远程附件目录,填 . 表示在Bucket的根目录下创建上传目录。
9.远程访问URL, 填 http://BucketName.Endpoint 即可。
这里测试所用bucket为test-hz-jh-002, 属于杭州区域的,所以这里填写的是http://test-hz-jh-002.oss-cn-hangzhou.aliyuncs.com
注意BucketName要和Endpoint匹配。
10.超时时间,设置为0即可,表示服务默认。
11.设置好后,可以点击测试远程附件,如果成功则会出现如下画面。

相关推荐

添加新评论

网站状态

  • 栏目分类:49个
  • 发布文章:1548篇
  • 用户评论:805条
  • 开博至今:4246天

正则速查

[abc] 匹配中括号中的单个字符,如a或b或c
[^abc] 匹配除了a、b、c等字符的其他单个字符
[a-z] 匹配一个字符范围,如a到z
[a-zA-Z] 匹配一个字符范围,如a-z 或 A-Z
^ 匹配行的开始
$ 匹配行的结束
\A 匹配一个字符串的开始
\z 匹配一个字符串的结束
. 匹配任意单个字符
\s 匹配空白字符,如空格,TAB
\S 匹配非空白字符
\d 匹配一个数字
\D 匹配非数字
\w 匹配一个字母
\W 匹配非字母
\b 匹配字符边界
(...) 引用所有括号中的内容
(a|b) a或者b
a? 零个或1个a
a* 零个或多个a
a+ 1个或多个a
a{3} 3次重复的a
a{3,} 3次或3次以上重复的a
a{3,6} 3到6次重复的a

修正符

/g 查找所有可能的匹配
/i 不区分大小写
/m 多行匹配
/s 单行匹配
/x 忽略空白模式
/e 可执行模式,PHP专有
/A 强制从目标字符串开头匹配
/D 使用$限制结尾字符,则不允许结尾有换行
/U 只匹配最近的一个字符串;不重复匹配

最新回复

  • 小云: 不错啊,收藏起来先
  • 小云: 收藏,很不错
  • memory: 动态添加没有试过,可能需要绑定事件了
  • 111: 动态添加按钮怎么添加,pick:class名是那个能在具体一点吗...
  • 今日头条: 文章不错非常喜欢
  • memory: 你看一下 gmp-6.1.2 的版本咧,不行换低点的.
  • 大叔: 发现编译出来的包,在 centos6 下运行错误。提示这个:ve...
  • : 感谢,我现在才知道还有快捷键这个东东!!!
  • 1: 天书啊
  • memory: 可以去官方网站找找手册了,好久不玩它了.
  • xiaoyan: 怎么解决的啊
  • 银行建设: 生产环境应该怎么搭建redis集群呢?
  • memory: 好久没折腾WIN了?不确认哟。
  • 虫虫: tomcat apache nginx能装吗
  • 咚咚: 开源的放一个吧
  • memory: 好几年不更新了。。。
  • liqitian: 不能用呀