Joomla! 全站备份、迁移工具 Akeeba Backup 使用详解

《Joomla! 1.5 网站防黑9条戒律》 这篇文章中,我们提到的第一条就是:及时、定期备份你的 Joomla! 网站。对于一个 Joomla! 站长来说,网站搭建成功后,第一个应该安装并且熟练掌握的 Joomla 组件就是 Akeeba Backup 这个全站备份/恢复/迁移工具。本教程将向 Joomla! 1.5 用户详细介绍 Akeeba Backup 的用法。

Akeeba Backup 原名 JoomlaPack,诞生于3年前,第一个版本是针对 Joomla! 1.0.x 平台的。当时 Joomla! 发布了新闻来介绍这个 Joomla! 平台的一键还原工具 。 说“一键还原”有点夸张,因为整个操作过程需要点击多次鼠标才能完成。但在当时,JoomlaPack 是唯一能够实现“傻瓜式”全站备份和恢复、迁移的免费组件。后来在 Joomla! 1.5.x 平台上,仍然沿用 JoomlaPack 这个名称。进入 2010年之后,鉴于 Joomla 官方对“Joomla”一词的使用限制,JoomlaPack 更名为 Akeeba Backup , 同时将原来的完全免费政策改变为免费与收费并存,免费版叫做 Akeeba Backup Core,基本上满足大多数网站需求;收费版叫做 Akeeba Backup Professional,增加了一些额外的功能,例如将备份结果保存到 Amazon S3 “云存储”网盘中。

从最初的 JoomlaPack 到最新的 Akeeba Backup,软件的操作界面变化不大,新版本更加美观,AJAX 特效更加丰富,不过熟悉旧版的用户在新版本不会有迷失感,因为整个操作程序基本没变。

为了详细说明 Akeeba Backup 的用法,Joomla!之门专门录制了长达28分钟的视频教程,完整演示了把一个 Joomla 1.5 网站通过 Akeeba Backup 备份,然后再搬迁到新的服务器上,恢复成为新的网站 —— 也就相当于进行了一次全站迁移。下面是该视频教程的开头片段(点击图片观看视频),如果您想要观看完整视频教程,请点击本文末尾的下载链接前往下载栏目下 载该视频。(注:普通会员无权下载,如果您愿意支持 Joomla!之门 制作更多的 Joomla 视频教程,

 

mt_ignore:点击此处观看 Akeeba Backup 视频教程片段


Akeeba Backup 的工作原理

每一个 Joomla 用户应该都很清楚 Joomla 核心的安装过程,这是建站的第一步操作,谁也无法越过。Joomla 友好的安装程序给所有 Joomla 用户留下了深刻印象。而 Akeeba Backup 正是看到了这一点:既然大家都熟悉并且喜欢 Joomla 的核心安装界面,那么,何不将网站备份为类似核心安装包的文件包,然后通过模仿核心安装的过程来进行网站恢复?

一旦有了这个明确的思路,那么施行起来也不难:先将全部的文件系统原样打包,保持其目录/文 件结构不便;新增 /installation 目录(这个目录在核心安装完后就删除了,现在为了恢复原样,必须创建),并按照核心安装包的规则,在里面包含一个 SQL 文件,这个 SQL 文件就是当前网站数据库的备份;然后在 /installation 目录里面通过相关文件引导用户完成安装(恢复)过程的操作。


Akeeba Backup 几个关键概念
1、临时目录

Akeeba Backup 的备份过程相当于提取、组装、打包的多个操作依次执行,这些操作都需要有一个位置来存放中间环节的临时文件,因此就需要一个临时目录。默认是使用 Joomla 自带的 /tmp 目录。我们也推荐使用该目录。


2、输出目录

备份结束之后,必须将备份结果保存在服务器上某个位置(除非你设置的是直接通过 FTP 传输备份结果,或者直接备份到”云存储“网盘)。这个存放位置就叫做”输出目录“。默认是 /administrator/components/com_akeeba/backup 这个目录,不过我们认为该目录路径太深,不方便下载,推荐修改为 /tmp 这个目录。

提醒一点:不管是 /administrator/components/com_akeeba/backup 这个目录,还是 /tmp 这个目录,都是可以通过 http 协议访问到的路径。因此就存在被黑客扫描攻击的可能。因此,如果你的服务器上还有 www 根目录之外的路径(例如在 public_html 目录之外),推荐将备份结果保存在那里,安全性更高。


3、文件拆分

Akeeba Backup 的整个备份打包过程都是在服务器端执行的。为了避免对大型网站执行备份时,对较大文件的读写导致 PHP 超时(timeout)错误,Akeeba Backup 广泛使用了”文件拆分“技巧:就是对大文件每次读取一个片段,然后就写入磁盘,接下来启动新的会话(session),再读取一个片段,写入一个片段…… 如此循环,直到将大文件处理完,再进行下一个文件。对数据库的备份也是如此,每个 session 只处理一个片段。

Akeeba Backup 这么做,主要是想避免”超时错误“。不过,有些服务器的配置相当好,这种情况下,拆分片段会使得备份过程冗长,因此 Akeeba Backup 允许用户在后台自己调整文件片段大小。

文件拆分还有一个问题,就是会导致 MySQL 数据库的备份结果不是一个单一的 .sql 格式文件,而是很多小片段,文件格式也不是 .sql(只有第一个片段的文件扩展名是 .sql)。这样的数据库备份结果无法通过 BigDump 数据库导入工具 来处理。因此,你如果希望将来通过 BigDump 来恢复 Akeeba Backup 所作的数据库备份结果,就必须对备份方案进行设置,让它在备份 MySQL 数据库时,不拆分文件,这一点我们在视频教程中有清楚的演示。


4、JPA 压缩格式

在最早的时候,JoomlaPack 使用 zip 格式来保存备份结果。但是很快作者 Nicholas K. Dionysopoulos 就发现,zip 格式处理较大文件时,可能会出错。他深入研究后发现,这是 zip 格式自身的算法导致的,与操作系统等外界因素无关。网站备份就是为了”数据安全“,如果把数据交给一个并不安全的 zip 格式来保管,那还有什么意义?

那么,该使用何种压缩文件格式呢?.gzip/.gz 格式不存在 zip 格式的那种问题,但是 Nicholas 考虑到并非每个服务器上都能制作 gzip 格式文件,例如在 IIS 服务器上就比较难。因此,他最后自创了 JPA 这个全新的压缩文件格式。

JPA 压缩文件无法通过常见的 WinRAR 或者 7-zip 来解压。因为这是 Akeeba Backup 带来的全新文件格式。为了解决解压问题,Akeeba 团队提供了两种方案:一种是在线解压工具,就是通过直接运行服务器端的 kickstart.php(需手动上传)工具来解压;另一种是桌面解压工具,叫做 Akeeba eXtract Wizard(分别有针对 Windows/Mac/Linux平台的版本),该软件可以直接在 PC 上解压 JPA 压缩包。


5、目录/文件 除外

在你的 Joomla! 网站中,很显然并非每一个文件/目录都是非常珍贵而需要备份的。例如,/cache 目录里面没有什么重要内容,即使全部删除也不会影响网站运行,因为前台页面一打开,就会生成新的缓存内容。那么,就没必要将 /cache 目录备份起来,徒增备份结果的文件体积。

与此类似的还有 /tmp 临时目录。这里原本没有什么重要内容,除非你自己上传了什么文件进去。

因此,Akeeba Backup 默认已经自动排除了对 /cache 和 /tmp 目录(包括其中的子目录、文件)的备份。

如果你的网站上还存在一些不需要放进备份包的文件或目录(例如你可能在根目录下放了一部 500MB 的电影,只是为了给朋友们提供一个临时下载途径,你肯定不希望把这个电影也放入网站备份包吧?),你就可以通过 Akeeba Backup 提供的”文件和目录排除“功能来设置。


Akeeba Backup 的操作过程

对于大部分 Joomla 站长来说,不需要知道 Akeeba Backup 后台设定中的每一个参数。其默认设置完全可以工作。你要做的就是:安装 Akeeba Backup;从后台进入 Akeeba Backup 并点击”立即备份“按钮;等待数分钟后,看到备份成功的消息,然后下载并保存你的备份结果。就这么简单。

如果你使用默认方案时仍然出错,这时才需要通过设定参数来进行处理。一般都是由于服务器配置太差导致超时错误,或者路径设置不正确。如果你仔细检查这些参数,很容易就弄好了。

某些比较繁忙的站长,或许同时管理多个网站,那么 Akeeba Backup 也提供了配套的远程备份工具,叫做 Akeeba Remote Control,你可以通过该工具对多个 Joomla 网站同时进行备份管理。

Akeeba Backup 还允许通过 Cron 计划任务来进行”定时自动备份“。这要求站长必须熟悉 Apache 服务器上的 Cron 操作。

Akeeba Backup 甚至还提供了”前台备份“功能,就是通过访问特定的 URL 来触发备份操作。为了避免这个功能被他人恶意利用,Akeeba Backup 要求站长给前台备份网址添加保密字串,这样就提高了安全性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值