WP2PCS:同步你的网站到百度网盘

什么是WP2PCS

我在前两年的时候就发布了WP2PCS,最初是基于百度 PCS API 来开发的,后来又尝试做一套同步方案,但由于各方云存储迟迟没有开放API,而百度云盘由于错误的分享策略,也引来了各种法律层面的问题,导致PCS API不但没有发展,反而实行了不少限制性条约。

不过,由于我比较早的申请到了PCS API,所以限制还在使用,发布WP2PCS之后,也得到很多站长的喜爱。现在越来越多的站长开始接入WP2PCS,主要目的,应该是为了备份自己的网站。

那么什么是WP2PCS呢?

最开始,我其实就想做一个WordPress的插件,WP2PCS的意思就是WordPress to PCS的意思,PCS是个人云存储的英文简称。

WP2PCS能帮你干什么

WP2PCS最核心的是将你的网站备份到百度云盘中,因为百度云盘空间很大,我们可以放很多数据,而一般网站的数据其实也不是非常大,超级大的网站不可能用wp2pcs来进行备份,wp2pcs就是帮个人站长、博主,小网站解决这个简单实惠的备份问题。

同时,由于百度的api来提供把网盘里面的资源调出来的功能,所以wp2pcs也支持把网盘里面的图片直接显示在网页上。

由于百度方面的限制,我已经取消了在网页里插入视频、音乐的调用功能,因为这些太容易涉及侵权了。

在核心功能基础上,我还开发了一些开发版,后期会在github上公布。

因为wp2pcs是开源的,所以任何有能力的开发者都能先看懂代码,然后自己根据一些逻辑开发自己需要的功能。其实,最最重要的是,wp2pcs提供了永久(只要我还在做开发相关的工作)免费的pcs api key接口,授权和刷新access token的接口会永久支持所有人使用。

怎么安装WP2PCS

安装WP2PCS的前提条件

  • WordPress 3.9+
  • PHP5.3+,而且php必须支持pdo的方式连接mysql,数据库备份依赖这个
  • 完整的curl模块,网站和pcs之间的通信完全依赖curl
  • 隐藏warning错误的能力,你的php配置隐藏了warning,不然会有一些不可避免的报错
  • 空间可写权限,备份的时候,会产生临时文件
  • 足够的空间和性能,备份的时候空间容量够用,而且php执行不会超时

安装的两种方法

方法一,在WordPress后台安装插件,搜索wp2pcs即可找到这个插件。

方法二,从WordPress官方插件目录或者我的github下载源代码,解压后上传到网站的插件目录。如果你不会源码上传安装,建议先通过搜索引擎了解一下。

安装完之后,到WordPress后台激活这个插件。

使用WP2PCS

在WordPress后台的“设置-WP2PCS”菜单中对wp2pcs进行初始化和设置。

初始化

很简单,点击蓝色的“百度授权”按钮,跳转到百度进行登录,授权后这个按钮变成灰色。如果再次点击按钮,就会再次授权,但凡灰色的状态,都可以不用再授权。

备份功能

备份周期

默认情况下不会自动备份,需要你设置备份选项后才会自动备份。选择定时备份选项,比如我的习惯是“文件每周一次,数据每天一次,时间02:00”。

设置好以后,就会在规定的时间自动备份。如果要关闭备份,只需要在对应的选项里面选择“永不备份”即可。

你可以通过点击后台的那个链接进入你的百度网盘进行查看备份的文件。所有备份都是一个zip文件,里面包含了文件和数据库。

如何还原数据库?

数据库是一个sql文件,里面有还原数据库的sql语句,你需要一个可以导入sql到mysql的工具,比如phpmyadmin,或者你直接在你的主机商后台进行操作。不过需要注意一下,由于不同的系统sql的字符集不同,因此,如果你导入后发现全部中文乱码了,最好搜索一下应对策略。

路径设置

默认情况下,备份会把整个WordPress备份进去,但是这样文件太多,消耗了服务器的资源,产生的zip也太大。最好你可以自己决定哪些文件夹是可以备份的,哪些不可以备份。

我一般会只备份如下:

/var/www/html/wp-content/
/var/www/html/wp-config.php

因为除了这两个文件/目录,其他的东西全是WordPress的,我们如果要还原,只需要下载一份最新的WordPress即可。或者,我们可以再细化一下这个备份列表:

/var/www/html/wp-content/plugins/
/var/www/html/wp-content/themes/
/var/www/html/wp-content/uploads/
/var/www/html/wp-config.php

一般这几个就是最重要的。

但是有的时候你也不想要备份这些目录下的某些文件,比如wp2pcs这个插件,你根本就不想备份它,那你可以在黑名单列表里面填写它的路径:

/var/www/html/wp-content/plugins/wp2pcs/

这样在备份的时候,wp2pcs就不会被备份。

但是有的时候你又很纠结,wp2pcs里面的config文件你修改过,所以你又想把它备份起来,最简单的办法就是在下面的白名单列表中把它加入进去:

/var/www/html/wp-content/plugins/wp2pcs/config.php

这样,即使wp2pcs在黑名单中,但是这个文件也会被备份。

调用资源

可以使用wp2pcs在WordPress中插入来自云盘的文件。但是你必须把这个文件存放在网盘的特定目录中,后台都有说明。但是资源调用功能不是我想要的,因为它会消耗掉比较多的服务器资源,所以我不打算详细介绍。

默认情况下,资源调用功能是关闭的,你必须开启之后才能使用(关闭情况下节省服务器资源,网站打开速度都变快了)。

在撰写文章的时候,点击“插入媒体”按钮,打开的媒体面板里,你可以找到左侧有一个wp2pcs选项,切换到这个tab之后,可以看到网盘里面的文件列表,选择之后,就可以插入。现在只允许插入图片和文件链接。

二次开发

作为开发者,你看到这个好东西,就想自己在此基础上进行开发。你可以到我的github上获取源码和更多信息。大家都是程序员,就不多讲了,你有问题,可以在github上提issue,我看到都会立即回复。

2016-01-29

已有9条评论
  1. bowmanhan 2016-12-01 14:32

    哥们你的key现在被很多人盗用啊

    • 否子戈 2016-12-02 10:15

      key只是起到授权的作用,是用来获取access token的,secret key才是用来实现更高一层权限的操作,只有通过wp2pcs的api才能获得基于secret key的token。别人盗用也只能盗用app key,而且只要进行授权,这个key都是可见的,很正常

  2. tongnixcv 2016-12-07 11:37

    作者你好,使用wp2pcs插件已经有段时间了,
    最近突然发现外链的图片无法打开了,
    后台看到授权信息提示错误

    「获取百度网盘信息错误,4:No permission to do this operation」

    重新安装后问题依旧没有解决,尝试断开百度授权后重新链接也没有解决,
    请教下作者,该如何解决呢?
    谢谢

    • 否子戈 2016-12-07 12:23

      可能百度网盘已经把api封了,我的也出现这个情况

    • 否子戈 2016-12-07 12:24

      建议你从百度网盘里面把图片下载下来,上传到自己的网站里面去,通过修改数据库的方法把图片地址替换掉。

      • tongnixcv 2016-12-07 13:09

        看样子暂时只能这样了,谢谢你

  3. 小7 2016-12-22 11:35

    我的网站也是这样,正在重做数据,谢谢 否子戈

  4. 小7 2016-12-22 14:07

    请问后期会修复吗?

    • 否子戈 2016-12-22 16:03

      这已经不是代码的问题了,无所谓修复不修复,百度应该是取消了相关接口,或者取消了我的apikey,非常哀伤,感谢你的支持,希望你的数据没有问题