之前写了利用命令行工具创建LinuxMac系统下网站备份的文章,但是windows系统无法采用命令行工具进行网站备份,这个时候我们就需要借助第三方工具了。欲知详情,且看下文介绍。
目前仍有很多网站运营商没有做好备份工作,一旦网站突然“罢工”或遭到病毒感染,一切数据、资源、心血都将付诸东流。
一、前期准备
有的网站托管商会提供备份服务,当然你也可以购买一些附加的备份服务和插件。但本文的写作前提是你的网站托管商不提供备份服务,我们自己通过免费的软件进行网站备份。
首先,准备以下三个工具:
这是一个能够访问网站文件的开源FTP客户端。
2.Adminer
一款管理数据库的简便安全的工具。
3.网站的FTP登录凭据 (含获取网站FTP凭据具体攻略)
- 可以在主机账户中找到
- 需要一个用户名、密码以及主机名或IP地址
在你自己的电脑上安装Filezilla(与Windows、Linux、Mac系统兼容),从Adminer网站下载PHP文件,确认已经获得FTP主机名、用户名与密码。
注意:虽然Filezilla是一个非常好用的跨系统FTP客户端,但它不会安全地存储用户密码,因此使用时不要选择“记住密码”。的确,每次登录都输一遍密码很麻烦,但是出于安全考虑,这样的捷径还是不要走。
二、开始备份
你的网站存有大量网站文件以及一个或多个数据库(通常只有一个)。
这些文件包括你的核心CMS(内容管理系统)、扩展名/主题文件以及你上传到该网站的所有照片/媒体。
数据库指的是网站内容(如博客文章)及设置(扩展/主题设置和用户信息)的存储位置。
因此我们完成完整备份的标志就是备份网站文件与数据库。
1. 文件
打开Filezilla。
首先在File(文件)菜单中点击Site Manager(网站管理员)按钮。打开后在这里输入你从主机账户抓取的FTP登录凭据:
通常情况下,常规的FTP即可。虽然SFTP和TLS相对来说更加安全,而且有时使用的协议需要根据托管服务供应商或具体服务器来确定。
友情提醒:FTP默认使用21号端口,SFTP默认使用22号端口。有时你要把你的FTP登录凭据设置得没有规律性一点才能保证它们正常工作。如果在设置方面存在困难,可以与你的托管商沟通,获得他们的协助。
OK,成功登录。
该面板左侧是本地计算机中的文件,右边的则是服务器上的网站文件。基本上我们只需将服务器上的文件拖到本地计算机上即可。可以放心的是,服务器上的文件仍会保留,不会被删除。
首先,找到你网站的public根目录(在这种情况下是public,也有可能是public_html、httpdocs等),点击并将其拖动到你电脑上的某个文件夹。
友情提醒:如果你的网站使用了缓存插件,在备份网站之前清除缓存。这些文件应该是定期删除的,但如果你的缓存文件是从2011年开始的,那么这一步操作能帮你节省很多备份的时间。
这里介绍一个我每周备份的命名小技巧(非常重要):
好用的备份命名技巧
现在开始文件传输。这个过程会花一点时间,特别是如果你的网站上有很多照片或插件,又或者你的网站运行在一个速度很慢很low的服务器上。
传输完成后Filezilla一般都会发出自动通知。如果没有,程序底部的文件传输列会显示空白,说明你发出的文件传输指令已经完成。
第一阶段完成!
2. 数据库
现在我们开始备份数据库。首先,把你之前下载的那个adminer.php文件拖到你网站的根目录下,如下图所示:
友情提醒:完成这一步后一定要删除服务器上的adminer.php文件。最好不要把这些暂时用不到的工具遗留下来,容易产生安全隐患。
现在请打开浏览器并输入yourwebsite.com/adminer.php,你应该会看到下图的页面:
登录数据库。如果你不知道你的数据库登录凭据,可以在Filezilla的服务器上打开网站配置文件:WordPress上的是wpconfig.php、Joomla上的是configuration.php、Drupal上的是settings.php。右击文件并用文本编辑器打开,我们就可以在上面找到登录信息。
以WordPress中的 wpconfig.php存储数据库登录凭证为例
将凭据输入Adminer后登录成功并显示如下页面:
现在我们要做的是将数据库以单个文件的形式导出,并下载到自己电脑上。点击左侧的“Export”(导出)按钮,页面上会跳出一个数据库的转储面板:
选择“Save”并单击底部的“Export”按钮,页面上会出现下载提示。把这个文件保存在与网站文件相同的存储位置。通常情况下这个过程几分钟就可以完成。
但有些网站的数据库庞大,所需的备份时间就会更长。有时还会出现服务器超时的情况,虽然比较少见,但是如果真的发生了,建议从主机账户直接下载数据库副本。
完成到这里就可以说你已经无敌了。不管什么系统都难不倒你。既然学会了备份,那就一定要把备份工作变成你的日常习惯——至少每周一次。
三、备份安全
下面我们将介绍保护备份安全的重要性。
备份是为了防止意外,但是如果备份的东西没有得到安全保护,那么关键时刻我们还是会功亏一篑。因此必须将备份文件存储在安全的位置,并采取一定的措施防止无关人员访问或被恶意人员利用造成网站被入侵。这些备份中包含着很多重要信息。比如网站配置文件就是数据库的访问入口。
旧的备份中还包含着大量没有更新过的核心文件、主题和扩展名。不再更新的软件往往是网站遭受攻击的罪魁祸首!我发现很多网站都会把他们的备份存储在活动服务器的/old以及/backup目录下。这种做法等于把你的网站拱手让给了那些哪怕是“修为”很低的攻击者。
把备份放在本地计算机、外接硬盘或CD/DVD上都是相对来说更加安全的选择。另外我们也建议对备份数据进行密码保护,防止这些数据被滥用或被无关人员获取访问权限。至于如何加密还是取决于你所使用的操作系统。
四、如果我的网站被入侵了怎么办?
当用于管理网站的计算机感染恶意软件时,该网站也会受到威胁。键盘记录器、木马和其他恶意软件都可以盗取FTP凭据或访问存储在计算机上的网站备份。无论你使用的是什么操作系统,请务必使用合适的防病毒程序扫描计算机中的恶意软件。
你可能会担心,如果网站被入侵了,并且用自己的电脑来存储备份文件,那么你把恶意软件下载到自己电脑上的可能性就很大了。这个担心是合理的。但是,大多入侵网站的恶意软件都是PHP格式,或者是用其它服务器端的脚本语言编写的,一般与web服务器兼容,而不会在桌面、笔记本、平板等设备上执行。
尽管如此,我们还是需要对网站进行有效的安全监控,及时阻止入侵行为。
如果你下载了受感染的备份文件,一个好的反病毒软件也能救你一命。通过反病毒软件对计算机进行全面彻底的病毒扫描往往能发现系统中的威胁文件,当然也包括受感染的备份文件。
五、如何恢复备份
假设由于某些更新、配置错误或不兼容的软件,你的网站被黑或出现白屏问题(内部服务器错误),那么我们就需要恢复以前备份的东西。
1. 恢复文件
假设我已经在本地计算机上存储了网站备份文件,文件恢复工作其实也相当简单,就是把我们之前的备份步骤逆向操作一遍。首先,将需要恢复的备份文件拖到网站的public根目录下。
这时页面会跳出你希望Filezilla对这些传输文件执行什么操作的提示框。因为我们需要这些本地文件替换服务器上的文件,因此选择“Overwrite(覆盖)”以及“ Always use this Action(始终执行此操作)”、“ Apply to Current Queue Only(应用于当前文件)”。
2. 恢复数据库
重新登录Adminer并将adminer.php文件重新上传到服务器(因为之前完成工作后你已经把这个文件删除了对吧)。