前些天的时候不小心删除了一个网站数据,好多G的数据,然后用这个软件恢复了。很幸运你能找到此篇文章,此文章中的激活注册,只要是界面跟下图示例界面相同的都可以激活。适合迅龙、顶尖、易我等等。此款软件应该只是换了个界面内容都是一样的,都拥有误删文件恢复,误格式化恢复,U盘手机恢复,回收站恢复和万能恢复等几大功能。
注册码:STDR845LOO8WB2NYEKHK
注册流程:安装软件,复制激活文件替换到软件目录,输入软件注册码。
软件截图:

[Downlink href=”https://pan.baidu.com/s/1o7BzuGi”]网盘下载[/Downlink]
标签: 数据库
wordpress中自动同步数据库
前些天我的博客“井底之蛙”所在的服务器召攻击了,丢失了一部分数据,这就怪自己没坚持放在SAE上,如果放在SAE就不会有这样的情况发生拉。于是坚定了自己做备份数据的念头,
虽然网上有很多能自动备份数据,如自动发送数据库的sql到邮箱,备份到空间等等各种插件,但是也不知道咋滴,一直没用成功过,于是决定自己写一个,一直都认为代码的乐趣,在于解决自己的需要。wordpress可玩性也在于此。废话不说,说下我的想法:
博客最重要的内容,当然是发表的文章,于是决定从发布文章开始入手,可以在每次发布新文章的时候,备份一下这条数据,初步有两个简单的方法:
1、把数据库导出,然后发送到邮箱以文件的形式保存。
2、把这条数据远程备份到另外一个数据库。
相对来说,远程备份到另一个数据库比较简单,因为方法1先要导出,再要发送,涉及到空间、mail。作为一只非职业码畜,只能选择较为简单的方法。
于是我用了之前创建的两个sae应用做实验,暂时把原本的数据库称为A,备份的数据库称为B吧。要把A的数据备份到B,这里就会涉及到一个传送数据的问题,我们都知道常用的传送数据就是用表单,get、post方式,我们不可能在A中写一个表单,然后action写B的地址。这里有一种方法,那就是Curl(没见过的同学自己百度哈),在A应用中触发发表新文章这个动作时,用curl 把数据post到B的数据库,这样就达到我们的目的了。
我的基本思路就是这样,下面就是敲代码了。在wordpress中,我们要用插件的形式去完成这项工作,而wp中新建插件也很简单直接在wp-content/plugins/目录下创建你要的插件文件夹,然后到文件夹里面创建php文件就好了。比如我在A应用中这样子:

下一步就是往里面敲代码了。
PHP代码
- /*
- *@backage backupdb
- * @version 1.6
- */
- /*
- Plugin Name: backupdb//这里是插件名称
- Plugin URI: http://aoxiang.me//这里是插件链接的地址,这里链接的是我的博客,井底之蛙
- Description: when you publish a new post, this plugin will backed up data to anthor database that you set ;//这里是你插件的简介
- Author: Luffy//author
- Version: 1.0//版本
- Author URI: http://aoxiang.me
- */
- /*
- Plugin Name、Plugin URI、Description、Author、Version等等这几项建议大家都写上,不写有时候wp会不识别插件
- */
- //函数中传入的是发表的新文章,写入A数据库以后,生成的post_id
- function backupdb($post_id)
- {
- //下面我们通过这个postid,取得A数据库中的这条数据
- $post_data = get_post($post_id);
- //由于wp中取得的数据是对象(-_-###PHP居然是个有对象的语言,为毛我等码畜无对象!!!)的形式,我习惯了用数组的形式去处理数据,所以这里我把它全部改成了数组。
- $data[‘id’] = $post_data->ID;
- $data[‘post_author’] = $post_data->post_author;
- $data[‘post_date’] = $post_data->post_date;
- $data[‘post_date_gmt’] = $post_data->post_date_gmt;
- $data[‘post_content’] = $post_data->post_content;
- $data[‘post_title’] = $post_data->post_title;
- $data[‘post_excerpt’] = $post_data->post_excerpt;
- $data[‘post_status’] = $post_data->post_status;
- $data[‘comment_status’] = $post_data->comment_status;
- $data[‘ping_status’] = $post_data->ping_status;
- $data[‘post_password’] = $post_data->post_password;
- $data[‘post_name’] = $post_data->post_name;
- $data[‘to_ping’] = $post_data->to_ping;
- $data[‘pinged’] = $post_data->pinged;
- $data[‘post_modified’] = $post_data->post_modified;
- $data[‘post_modified_gmt’] = $post_data->post_modified_gmt;
- $data[‘post_content_filtered’] = $post_data->post_content_filtered;
- $data[‘post_parent’] = $post_data->post_parent;
- $data[‘guid’] = $post_data->guid;
- $data[‘post_type’] = $post_data->post_type;
- $data[‘menu_order’] = $post_data->menu_order;
- $data[‘post_mime_type’] = $post_data->post_mime_type;
- $data[‘comment_count’] = $post_data->comment_count;
- $data[‘ancestors’] = $post_data->ancestors;
- $data[‘filter’] = $post_data->filter;
- //下面的URL就是我们要备份的数据库B的地址了。这里要注意index.php?有个参数backupdb,这是我设置的一个简单的密钥,用来匹配A、B两个应用。后面详解
- $url = “http://1.jdzw.sinaapp.com/index.php?backupdb=1”;
- $ch = curl_init(); //初始化curl
- curl_setopt($ch, CURLOPT_POST, 1);//告诉curl要使用post传值
- curl_setopt($ch, CURLOPT_URL, $url);//告诉curl对应的url地址是$URL
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//告诉curl要传过去的数据是$data
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //告诉curl只要传值过去就行了,不用把结果显示出来。
- curl_exec($ch);//execute
- }
- //add_action是wp的一个亮点,这里简单解释里面两个参数一个是触发时间,一个是执行函数,那么这个函数就易懂了,当发布新文章的时候,执行backupdb这个函数,
- add_action( ‘publish_post’, ‘backupdb’ );
发送数据搞定了,那就要搞定接收数据了,下面是我B应用中的代码,直接在wordpress/index.php最后加上这一段就好了
PHP代码
- //直接在index.php里面加上下面这一段就好了
- if(isset($_GET[‘backupdb’]))
- {
- $data = $_POST;
- $sql = “INSERT INTO wp_posts(id,post_author,post_date,post_date_gmt,post_content,post_title,post_excerpt,post_status,comment_status,ping_status,post_password,post_name,to_ping,pinged,post_modified,post_modified_gmt,post_content_filtered,post_parent,guid,post_type,menu_order,post_mime_type,comment_count) VALUES(“.$data[‘id’].“,”.$data[‘post_author’].“,'”.$data[‘post_date’].“‘,'”.$data[‘post_date_gmt’].“‘,'”.$data[‘post_content’].“‘,'”.$data[‘post_title’].“‘,'”.$data[‘post_excerpt’].“‘,'”.$data[‘post_status’].“‘,'”.$data[‘comment_status’].“‘,'”.$data[‘ping_status’].“‘,'”.$data[‘post_password’].“‘,'”.$data[‘post_name’].“‘,'”.$data[‘to_ping’].“‘,'”.$data[‘pinged’].“‘,'”.$data[‘post_modified’].“‘,'”.$data[‘ost_modified_gmt’].“‘,'”.$data[‘post_content_filtered’].“‘,'”.$data[‘post_patent’].“‘,'”.$data[‘guid’].“‘,'”.$data[‘post_type’].“‘,'”.$data[‘menu_order’].“‘,'”.$data[‘post_mime_type’].“‘,'”.$data[‘comment_count’].“‘)”;
- $wpdb->query($sql);
- }
上面的代码大家应该显而易懂,我稍稍说一下那个密钥和add_action
1、密钥是用来匹配A和B这个应用的,如果没有这个密钥,那当任何人访问B应用的index.php的时候,都会执行后面的插入数据库的这段代码,当然,别人访问的是,是没有post的这个数据库,肯定会出错。
这个密钥是很简单的一种方法,但是不建议大家在index.php里面加入,因为index.php访问次数肯定多,每一次访问都会加上一个判断,这是影响性能的,我们可以新建一个php文件,去专门用来做备份。
密钥的方法不仅限于GET的方法,我们也可以在POST中再加入一个参数用来判断,再牛叉一点,用RC4加解密,再牛叉一点。。。。自己想吧,本码畜智商只到这里,一直都认为,代码的乐趣在于解决自己的需要,也在于自己摸索一些没玩过的东西。
2、add_action是wp中一个非常有意思的地方,它常用在我们写插件的时候,前面说了,第一个参数是触发事件,第二个参数是执行函数,想一下如果我们写的是add_action(“edit_post”,”backupdb”)、add_action(“delete_post”,”backupdb”)会发生什么呢?
然后在A应用中,发布新的文章,就会触发add_action(“publish_post”,”backupdb”),然后backupdb这个函数就会取得最后一条post数据,再将这条数据发送到B应用中,B应用匹配密钥是不是backupdb,如果密钥验证成功,就将$_POST中的数据,插入到B中的数据库。over
下面看我的:

完成!
代码这个东西大同小异,在这里我是用SAE中的应用作为我的备份服务器,因为之前有把域名指向sae,但后来因为域名没有备案,sae只提供海外服务器,家里网络的原因,有时候打开sae有点慢,所以就没指向sae了,现在能够同步重要数据,随时将域名指向sae,就能继续使用了,再也不怕找到攻击拉。哈哈。
本站全部数据被盗用
又出一个,wordpress换域名后无需修改数据库的方法
有些童鞋更换了网站的域名,就会引起文章的链接地址不正常,甚至连网站后台都无法进入,懂数据库的童鞋当然会觉得很简单,改一下数据库里面的域名就好了,但是不懂数据库的童鞋就杯具了,面对数据库那密密麻麻的英文字符,根本无从下手,那我们怎么才能把原来域名更新到现在的新域名呢?
第一种、修改wp-config.php
1、在wp-config.php中,添加以下两行内容:
define(‘WP_HOME’,'新地址’);
define(‘WP_SITEURL’,'新地址’);
2、登录后台,在 “常规 -> 设置”重新配置新博客地址(HOME)和安装地址(SITEURL),成功后一定记得删除上面添加的内容。
第二种、修改functions.php
1、在functions.php中,添加以下两行内容:
update_option(‘新地址’,”);
update_option(‘home’,'新地址’);
2、登录后台,在 “常规 -> 设置”重新配置新博客地址(HOME)和安装地址(SITEURL),成功后一定记得删除上面添加的内容。
第三种、修改wp-config.php(自动更新地址)
1、在wp-config.php中,添加下面一行内容:
define(‘RELOCATE’,true);
2、登录后台地址,WP将自动更新安装地址(SITEURL),手动修改博客地址(HOME)地址即可,成功后一定记得删除上面添加的内容。
wordpress换域名后修改数据库的方法
近来老是给几个WordPress站点换域名,其实是有几个站要做空间备份,我经常会把1个站弄成几个站,分别放在不同的空间中,那么,经常会把站的域名更换为比较好记的。
不管怎么样,数据库的修改是免不了的,网上查看过不少修改数据库的方法,但那些都是老贴了,数据库名都不一样了。
总结了一下,只有三句,大家拿去用用,打开数据库,进到表库,点SQL,输入下面语句,点确定,一次性完全OK:
修改option_value里的站点url和主页地址:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.old-domain.com', 'http://www.new-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
修改文章内部链接及附件的地址:
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');
修改Wordpress文章默认的永久链接:
UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com', 'http://www.new-domain.com');
aliyun:阿里云提供半年免费10GB云存储服务OSS
阿里云存储服务(Open Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。用户可以通过简单的REST接口,在任何时间、任何地点上传和下载数据,也可以使用WEB页面对数据进行管理。同时,OSS提供Java、Python、PHP SDK,简化用户的编程。基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。
Mongolab.com提供240MB免费云数据库

Mongolab.com提供240MB免费云数据库,云MongoDB的主机,MongoDB的托管服务,监督和支持,复制和备份,您可以确信您的数据复制,备份和安全。REST的API,我们通过HTTP的REST API访问数据。移动和AJAX开发的伟大。您的应用程序服务器数据库保持密切! MongoLab MongoDB的主机上多个云提供商提供。管理员工具,基于Web的管理工具带来MongoDB的生命。搜索,可视化,轻松创建和修改数据。https://mongolab.com/about/products/
来自“盛大云”MongoIC 支持mysql数据库恢复

盛大云”MongoIC支持在线一键申请数据库,可以免去搭建MongoDB集群的烦琐工作,给用户以极大的便捷。MongoIC支持各种形式的备份:用户不仅可以定制每日或每周备份,在进行重要操作前,还可以执行即时备份。而且,MongoIC上的数据库提供高可用性*服务,每个数据库都会有多台机器做备份,当主机出现故障后,备用机会自动升级成主机,继续提供数据库服务,从而保证用户业务的连续性。
此外,MongoIC更是在全球首次支持MongoDB数据库恢复功能,用户在MongoIC上可以将数据库恢复到7天内的任意时刻。在开发上线过程中,用户即使不慎污染数据库,也可以很方便地进行补救。
“盛大云”CEO何刚表示:MongoIC拥有专业的开发和运维团队,掌握了NoSQL数据库方向的多项专利,提供给用户易用、安全、容错的产品服务,将降低其使用数据库的成本。
http://www.grandcloud.cn/product/mongoic



