Discuz6.0论坛备份数据互补工具
Discuz6.0论坛备份数据互补工具Version 1.00
版权: 白乐天
联系方式:QQ 466356742 ;MSN && EMAIL: [email]bailetian@hotmail.com[/email]
论坛运行中,因人为误删会员,帖子,甚至整个版块,以及其他原因致使数据受损的情况屡见不鲜。此时我们通常可以使用近期备份进行恢复,但这样作就会丢失上次备份以来的新生数据!新数据舍不得,旧数据还想要,此时即陷入两难境地。数据是站长们的命根,如何最大程度补回丢失数据而又保全现有数据,就是本工具解决的问题。
本工具的功能是可以从前期备份数据中,自动将现有论坛丢失(没有)的部分抽离出来,补充进现论坛。以形成“旧数据找回,新数据不丢”的最佳状况。
本工具可以轻松使Discuz6.0论坛备份数据进行互补。有如下特点
[color=Blue][b]1.完整互补会员,主题,帖子,附件,版块,用户组等重要数据。
2.简单方便,用户可以按需选择自己所需要的项目进行互补。
3.速度快,容错性好。反复互补也不会造成数据重复。[/b][/color]
说明:
本工具为免费版。未经授权,禁止用于商业用途。
[color=Red][b]注意:此工具只能互补同一论坛不同时期的备份数据,并不能将完全不同的两个论坛的数据进行互补(处理方式不同,若需实现此种功能,请使用作者另外发布的合并工具,如将并非同一论坛的数据进行互补,会造成数据混乱,请慎重操作!)[/b][/color]
下载地址:
[url=http://www.bbstobbs.com/downfile/DiscuzUnion.rar]Discuz6.0论坛备份数据互补工具下载[/url]
帮助
一、运行平台win2000/winxp/win2003
二、环境
mysql4.0/mysql5.0+apache+php(推荐dz官方的Discuz!6.0.0Release 20070904!Discuz!EXP 6.0.0)
三、步骤
1.搭建环境
2.分别还原两个时期的论坛备份。注意两个论坛要放在不同数据库中。
3.运行转换程序,填入各项设置。
注:数据库用户一栏推荐使用 root用户 ,或者具有操作两数据库权限的用户名。
4.点连接,此时可以看到两个备份之间的差异程度以及可补充的数据量。
5.点开始互补。等待,直至提示互补完成出现。程序目录下生成ErrorLog.txt,提供给熟悉SQL的用户用以分析互补失败原因。
6.登入后台,更新缓存。刷新论坛首页面,将看到互补后的效果。
三、说明
本工具为免费版。未经授权,禁止用于商业用途。
自己不便搭建转换环境的用户,可以联系作者进行操作(有偿)。
作者: 白乐天
联系方式:QQ 466356742 ;MSN && EMAIL: [email]bailetian@hotmail.com[/email]
四、常见问题
1.附件也可以互补么?
附件数据可以互补,但要在附件文件存在(也进行过备份)的前提下。附件互补后,将备份过的附件文件覆盖在attachments目录下即可。
2.如果装的环境是Discuz!EXP 6.0.0,请将端口设置为6033
3.此工具可以远程连接虚拟空间么?
除非该空间开放了mysql的远程连接权限,否则不可以。请在自己的服务器上或本机环境进行互补操作。 :Q
老大,你这个是正式版吗?我用这个失败了哈,数据是有了,但是补进来的的帖子打开都是这样的
未定义操作,请返回。
[ 点击这里返回上一页 ] 是正式版。详述你两个备份的情况,因什么原因导致缺失。如果有特殊情况我会升级程序。 [quote]原帖由 [i]白乐天[/i] 于 2008-2-18 22:05 发表 [url=http://www.bbstobbs.com/redirect.php?goto=findpost&pid=78&ptid=14][img]http://www.bbstobbs.com/images/common/back.gif[/img][/url]
是正式版。详述你两个备份的情况,因什么原因导致缺失。如果有特殊情况我会升级程序。 [/quote]
好的,情况是这样的。2008年1月19日由于服务器上一个站出现问题导致服务器给网警扣押了,而我没有及时备分数据,最后一次备分的时间是2007年12月29日。服务器给扣押了,我的网站也当然无法访问了,这对于一个站长来说简直是要命,于是重新找了个空间,装了个官方原版6.0的,然后把我的12.29的数据恢复进去,也就是说2008年1月20日我的站可以访问了,但是数据是2007年12月29日的,然后运行到2008年2月10日原来的服务器拿回来了,然后我赶紧上去把数据备分出来了。
现在我是要把[color=red]2008年1月19日 到 2008年2月10日[/color] 这20多天的数据弄进来,不知道老大能否明白我的意思。。
[[i] 本帖最后由 51好东西 于 2008-2-20 22:33 编辑 [/i]] 都是DZ 6.0版本的 明白了。你这种情况并不完全算互补。
你用12.29的数据恢复后,运行至今产生的2008年1月20日到2008年2月10日的数据,生成的tid,pid等,是与原服务器上的数据是有一部分重合的。相当于两个备份各自运行过一段时间,而不完全是同一论坛的备份。而本工具是基于同论坛不同时期备份的互补,不会引入重合pid,tid的那部分数据。
想解决有两种办法。一是用这个互补工具前,先将2008年1月20日后的帖子表和主题表的tid,pid加上一个增量,以该段时期最小tid,pid值,大于原论坛的最大tid,pid值为准。然后再进行互补。
二是使用我做的另一个合并工具,可以把那部分数据补充进去,不过那是完全合并,对你这种情况会产生大量重复数据。想要完美的解决,要把2008年1月20日前的主题,帖子,会员,完全删除后(为的是剔除重复数据),再进行合并。 [quote]原帖由 [i]51好东西[/i] 于 2008-2-20 22:29 发表 [url=http://www.bbstobbs.com/redirect.php?goto=findpost&pid=79&ptid=14][img]http://www.bbstobbs.com/images/common/back.gif[/img][/url]
好的,情况是这样的。2008年1月19日由于服务器上一个站出现问题导致服务器给网警扣押了,而我没有及时备分数据,最后一次备分的时间是2007年12月29日。服务器给扣押了,我的网站也当然无法访问了,这对于一个站长 ... [/quote]
我下面这句话好像说错了,
[quote]现在我是要把[color=red]2008年1月19日 到 2008年2月10日[/color] 这20多天的数据弄进来,[/quote]
应该是
[quote]现在我是要把原来服务器上的数据 [color=red](2007年12月29日 到 2008年1月19日)[/color] 这20多天的数据弄进来,[/quote] [quote]原帖由 [i]白乐天[/i] 于 2008-2-20 22:52 发表 [url=http://www.bbstobbs.com/redirect.php?goto=findpost&pid=81&ptid=14][img]http://www.bbstobbs.com/images/common/back.gif[/img][/url]
明白了。你这种情况并不完全算互补。
你用12.29的数据恢复后,运行至今产生的2008年1月20日到2008年2月10日的数据,生成的tid,pid等,是与原服务器上的数据是有一部分重合的。[color=red][b]相当于两个备份各自运行过一段时间[/b][/color],而不完全是同一论坛的备份。而本工具是基于同论坛不同时期备份的互补,不会引入重合pid,tid的那部分数据。
[/quote]
[color=#ff0000]相当于两个备份各自运行过一段时间 ,, [/color]没理解这句话的意思,我把原服务器上的数据备份出来就直接用来补呀,没有再运行
[quote]
二是使用我做的另一个合并工具,可以把那部分数据补充进去,不过那是完全合并,对你这种情况会产生大量重复数据。想要完美的解决,要把2008年1月20日前的主题,帖子,会员,完全删除后(为的是剔除重复数据),再进行合并。
[/quote]
这个也不完美呀,不可能2008年1月20日后的帖子都是新注册会员发的.那要是以前会员发的,按照老大你说的操作,都把发这个贴的会员删除了,那这个贴还会存在吗?
[[i] 本帖最后由 51好东西 于 2008-2-21 18:06 编辑 [/i]] 情况是一样的。只要两个备份分别运行过一段时间,其中的数据就会重合。无法直接将其抽离出来,需要先把这部分数据“特殊化”一下。你如果仔细看过我上楼的回复,也是可以同样处理的。我说的有什么不理解的可以提出。 [quote]相当于两个备份各自运行过一段时间 ,, 没理解这句话的意思,我把原服务器上的数据备份出来就直接用来补呀,没有再运行[/quote]
这样说吧,你的服务器运行到1.19,tid,pid等等假设增长到10000,20000。而12.29的备份,当时的tid,pid可能只有8000,16000。这样你直接用12.29备份恢复后继续运行,从tid8000~10000,pid16000~20000,就会重复生成,而这部分数据是被互补工具视作“重复”数据而不会被补充。你只有为12.29论坛的tid,pid找到当时那个新生成数据切入点,将2008年1月20日后的帖子表和主题表的tid,pid加上一个增量,以该段时期最小tid,pid值,大于1.29论坛的最大tid,pid值为准。然后再进行互补。
[quote]这个也不完美呀,不可能2008年1月20日后的帖子都是新注册会员发的.那要是以前会员发的,按照老大你说的操作,都把发这个贴的会员删除了,那这个贴还会存在吗?[/quote]
帖子是存在的,但要后台允许浏览游客发的贴才会显示。也可以不删除会员,这样会员会有重合数据,但没什么问题。 :Q
唉,太复杂了,估计我不会的 第一种方法有点麻烦,第二种应该不算太麻烦。 好的,那我就用第2种方法试一下,但是下面的我不是很懂
[quote]原帖由 [i]白乐天[/i] 于 2008-2-21 18:16 发表 [url=http://www.bbstobbs.com/redirect.php?goto=findpost&pid=91&ptid=14][img]http://www.bbstobbs.com/images/common/back.gif[/img][/url]
帖子是存在的,但要后台允许浏览游客发的贴才会显示。也可以不删除会员,这样会员会有重合数据,但没什么问题。[/quote]
但要后台允许浏览游客发的贴才会显示
这句话是什么意思 就是后台基本设置,论坛功能,隐藏敏感帖子内容:,选择“否” 感谢白老大的互补工具,虽然还是有很多帖子没了(数据库的问题),但是还是把以前的帖子合并过来了
页:
[1]