备份和还原网站的终极指南

了解如何使用这些行业最佳实践来备份和还原网站,无论使用哪种网站CMS或用于构建网站的方法.


如何备份和还原您的网站

在建立企业网站时,您通常要担心的第一件事就是建立您的网站并开始运行。这需要大量的工作,最主要的是使所有工作正常进行。它运行顺利,突然间发生了一些事情。没了。您的文件丢失.

如果您的网站是在本地服务器上构建的,则可能会感觉已经有了备份。你在两个地方都有东西,对不对?文件存在于服务器和计算机上。可能出什么问题了?思考可能发生的事情并不需要太多的想象力。您的计算机因某种原因而死机,例如意外的电涌,或者您3岁的孩子认为将牛奶倒入笔记本电脑很有趣。但是,嘿,您已经将它存储在服务器上了,那为什么还要担心呢?没那么快….

如果服务器出现问题,或者超级便宜且看似可靠的托管服务提供商毫无预警地瘫痪了怎么办?您的网站运行数据库的事实又如何呢?您有计算机上每个文件的确切副本吗??

在本文中,我将介绍有关备份网站所需的所有知识,包括为什么,什么以及如何进行。.

为什么要备份?

备份网站的原因多种多样,.

恶意软件,随机软件,已删除文件,错误命令,人为错误,不满的开发人员或员工以及服务器崩溃都是您需要备份网站的所有原因!

点击鸣叫

恶意软件/勒索软件

无需过多介绍, 没有一个完全安全的系统. 无论您采用了多少安全程序和协议,所有系统都容易受到攻击。尽管存在一定程度的安全性,但某些系统比其他系统更容易受到攻击。几乎不可能阻止您的网站遭受所有类型的攻击,如果您真的希望人们使用您的网站,那么就更不用说了。像您的房子一样思考;您可以像诺克斯堡一样将其密封起来,但随后根本没人进入,因此您必须要有门。确保您的门有良好的锁,但总有人会闯入窗户.

任何系统中最薄弱的地方是人类。只需点击一下鼠标,或对看起来像一封重要电子邮件的邮件进行响应,即可屈服于网络钓鱼攻击。一旦有人通过软件或其他方式进入您的系统,他们就有可能控制您的文件以进行勒索。不必将钱花给可能会或可能不会退还您的网站或文件的陌生人,如果您拥有副本,则您的脆弱性将大大降低.

删除的文件/错误的命令/人为错误

在Windows / Mac上通过简单的“单击/删除”操作,或者在Linux上的命令行或其衍生版本删除服务器上的错误文件之类的简单操作,可能会擦除密钥文件,或者擦除所有文件(在Linux中,命令rm -r diretoryname会删除目录及其中的所有文件,通常无需确认,更糟糕的是,rm -rf /甚至可以从根目录删除只读文件和所有内容,这实际上会杀死您的整个计算机! ).

骇客

恶意行为比我们想要的更常见。有时,它甚至不像恶意软件或勒索软件类型的hack那样简单。有很多人侵入体育网站。即使您认为您的网站内容对黑客没有太大价值,这种情况仍然可能发生。对于那些使用流行平台(例如WordPress)的人来说,这尤其是一种风险,这些平台具有许多有据可查的弱点,如果不加以修补,则会使您背上一个很大的目标.

不良的开发人员/员工/任何人

许多企业严重依赖第三方来设计我们的网站。在大多数情况下,Web开发人员与我们其他人一样诚实。大多数人(真正像您一样)都是伟大而诚实的人(谦虚!)。但是,也许您陷入付款争议?当人们认为他们的道德行为时,人的差异很大。生气(邪恶)的员工很容易访问您网站的后端,如果他们不满意或出于任何原因,只需将其关闭即可。这是我们不想考虑的事情,但是安全起见通常是个好主意.

服务器崩溃

技术行之有效。在大多数情况下,尤其是在使用信誉良好的可靠托管公司的情况下,很少发生服务器崩溃而数据消失的情况。但是,即使是最好的提供商也有问题。同样,在这些天的许多情况下,您的网站很可能托管在虚拟服务器上。换句话说,您的数据不是在独立的物理计算机上,而是与许多其他人或企业共享。托管提供程序在一个物理服务器上托管许多不同的“虚拟”实例是很常见的.

对于大多数托管公司而言,这种情况经常发生,并且除非您愿意花大价钱购买自己的物理服务器,否则您很可能会共享空间。如果其他网段出现问题,则可能会影响您的网站和文件.

另外,即使您将站点托管在一台物理服务器上,它实际上也是 仍然 只是一台电脑. 尽管服务器通常存储在安全的地方,就像使用您自己的计算机一样,但总有可能出现问题。服务器可能会过热,可能会发生意外的自然灾害,在错误的时间出现电源波动,甚至是隐藏的制造商缺陷,都可能导致数据丢失。最重要的是,服务器场可以成为协同专用拒绝服务(DDOS)攻击的目标,在极端情况下,这种攻击可能需要完全重启。这总是有丢失某些或所有数据的潜在风险.

由于这些原因,将所有关键数据的副本保存在另一个位置通常是一个好主意,因此,如果其中一种可能,无论发生的可能性如何(视情况而定).

备份什么?

您可能要备份的事物类型可以分为以下几类:

档案

这些都是组成您的网站的所有文件。它们包括所有页面/脚本/ CSS文件和图像或文档,或者是网站核心部分的任何多媒体内容。您可以认为这些内容是不会改变的。它们保留为静态对象。因此,它们通常是您网站上最容易管理和备份的部分.

数据库

多数情况下,大多数网站都使用数据库来存储产品,单个页面或其他可能是重复内容变体的项目。如果您的数据库是静态的(即,您站点上的大多数项目很少更改),则与文件一样,进行备份相对容易。但是,如果在大多数情况下(例如博客文章,产品,交易或其他任何定期更改或添加的内容)是不固定的,则需要找到一种方法来定期备份此数据.

电邮帐号

如果要存储用户电子邮件或联系信息的记录。您还可能拥有完整的电子邮件服务器,并通过主机记录了所有电子邮件交易。您可能希望保留使用此帐户进行的所有互动,电子邮件和邮件列表的记录.

快速提示: 如果要将联系信息存储在邮件服务器以外的数据库中,则还需要备份该信息。!

如何备份?

备份站点并不是特别困难,但是从一开始,您需要了解有多种方法。它们因质量,可靠性和难易程度而异(取决于您的技能水平)。通常使用一个以上是个好主意.

1.通过您的虚拟主机

任何好的Web主机都应为Web服务器上的所有文件创建自动备份。 Web主机应在内部执行此操作,并且无论您做什么,通常都将进行每日备份。因此,如果发生任何情况,您应该可以使用虚拟主机的备份。但是,网络主机通常不保留多个备份版本,因此请您放心。他们将提供一些工具供您手动创建自己的备份。例如,您可以通过cPanel轻松创建网站的完整备份,cPanel是大多数网络主机使用的通用控制面板.

通过cPanel手动进行网站备份并非所有服务器都使用cPanel,但通常会收费提供类似类型的备份工具.

要使用服务器的备份工具,您需要询问您的提供商并阅读他们提供的任何手册。通常,您的文件将存储为压缩文件,并将存储在服务器上。您可能需要根据平台指定所需的格式类型。他们还将提供有关如何在必要时还原备份的说明。.

Web服务器文件备份如果您的虚拟主机确实在服务器上提供了此备份副本,请确保将其存储在与您的网站不同的服务器上。服务器可能崩溃!

使用提供商的服务的优势非常明显;通常与您的主机无缝连接.

但是,这些缺点与托管服务提供商有关。尽管它们可能很擅长托管您的网站,但将所有鸡蛋都放在一个篮子中从来没有明智。如果出现问题,例如服务器场中发生火灾,或受到黑客的某种攻击(是的,这确实会发生;没有人可以幸免,托管提供商是主要目标).

由于这些原因以及更多原因,所以偶尔将文件副本下载到计算机上是一个很好的主意。您还可能仍然希望至少自己手动保留网站副本.

2. CMS插件

如果您使用流行的CMS(如WordPress),则可以安装许多插件,如Backup Buddy。这些非常方便并且易于安装.

但是,备份插件通常会对您的网站速度造成负面影响。由于PHP是WordPress的本机编程语言,因此大多数插件也都使用PHP。虽然这很有效,但它往往会运行缓慢,这意味着它们可能会在运行过程中减慢您的网站的运行速度(它们通常会在与生成您网站的引擎相同的情况下运行),还会使您的网站混乱,也是比理想的更高层次的抽象.

另一个具有讽刺意味的因素是,您可能会使您的网站更容易受到攻击。 PHP本身具有一些已知的安全问题,尤其是如果所使用的代码已过时或草率编写。除非您完全确定这些插件中使用的代码(认真地说,是谁有时间研究别人的源代码?),否则用来保护数据安全的插件可能会使它的安全性降低。 (是的,很多都是信誉良好的,并且提供了高质量的代码。在这里我不会惊慌,但这是要记住的事情).

虽然PHP是一种出色的编码语言(它是我的最爱,并且我每天都在使用它),但最好在此平台之外运行尽可能多的功能。通常,如果要在操作系统级别运行任何备份。如果您运行的是Linux或其任何派生版本,则可能要运行Shell脚本,Windows中的批处理文件或Mac上的macos文件。.

3.手动备份

我们中的许多人可能都熟悉备份文件的“老派”方式:制作所有文件的副本并将它们放在可移动硬盘上或存储在云中。本质上,这与您在网站上使用的方法相同,但有一些注意事项.

当然,如果您在本地开发网站,然后通过FTP(或希望通过SFTP)将其传输到主机,则从技术上讲,您已经拥有该网站的副本。但是有一个关键的区别。如果您的站点上有数据库,则本地(在测试数据库中)与实时站点上的内容很有可能不同。如果您使用某种CMS软件(WordPress等),则尤其如此。在这种情况下,您网站上几乎所有的内容都存储在数据库中,并且根本不在数据库本身之外的任何文件中.

实际上,备份数据库相对容易,特别是如果使用MySQL。您只需要获取数据库的SQL转储即可。只是一个纯文本文件,其中包含数据库的所有内容。创建后,只需将其上传或作为文件运行即可重建数据库.

命令行方式

这是相对简单的。以下命令将备份整个数据库.

$ mysqldump -u [uname] -p [pass] db_name > db_backup.sql
选择代码

如果您想了解有关运行这些程序以及各种选项的更多详细信息,请查看 MySQL文档

PhpMyAdmin方法

转到数据库的导出选项卡,选择所需的所有选项(通常,您可能希望包括“放置表”,并创建数据库选项以使可以在较旧版本上加载新副本,但是请当心……)真正清除现有数据以替换为新副本).

然后,您可以提取所有已创建的文件(源代码,数据库和图像)并压缩它们,并将副本保存在您喜欢的位置(我个人喜欢使用Google云端硬盘或Dropbox等云存储).

明显的缺点是您必须记住要这样做,并且很容易忘记。因此,如果您想更进一步,可以编写脚本来完成所有这些工作,并使用系统定期运行这些脚本。在Linux中,通过命令行运行sql dump,然后以cronjob形式运行此脚本,每天,每周或您喜欢的任何时间范围运行一次,都是相对容易的。在Windows中,您可以使用批处理和内置的任务计划程序。我这样做的典型方法是先运行一个带有sql dump的批处理,然后将整个目录的一个大容量副本运行到我的Dropbox帐户中.

快速提示: 您将需要定期清除存储这些文件的目录;尽管作为文本文件的sql文件往往很小,但它们会随着时间的推移而逐渐增加,并且,如果您正在运行图像或多媒体文件的其他备份,则会发现驱动器/服务器很快就破裂了。.

4.备份服务

当然,手动处理所有这些操作可能会让人有些不知所措。仍然需要注意,而忘记清除目录之类的简单操作可能会导致文件丢失或帐户费用突然增加(Dropbox免费提供了几场演出,但很快就从那里上升了).

出于这个原因,如果您正在经营一个商务站点,使用专业的备份服务可能是一个好主意。这些通常会完成上述所有操作,但以更可靠的方式。与手动备份不同,其他人将为您完成工作,并解决您可能遇到的所有小问题。与插件不同,它们将在您的网站之外运行;您无需添加它们。它们不应占用任何处理速度,并且在这样做时不会创建任何安全漏洞。.

以下是一些常用备份服务的非常简短的样本。 (免责声明:这并不是要成为遥远的综合指南,仅足以使您了解其中的内容。我尚未测试所有提到的服务).

创建备份策略的最佳做法

无论选择哪种方法,备份网站都应制定工作流程计划。尽管上面提到的所有方法都可以使用,但是您绝对需要制定策略,否则您提到的任何系统都可能会遇到一些严重漏洞。制作清单并确定以下类别的答案

多久备份一次?

这个很重要。您要每天还是每月运行备份?您可能会考虑每次站点更改(新产品,新博客文章等)时都运行一个的想法。这取决于您,但是您应该确保已制定计划.

自动排程

按照上述步骤,设置时间表是关键。作为基准,您可能需要设置备份发生时间的时间表.

使用远程存储

您在哪里存储这些数据?您将不希望仅将副本保留在服务器甚至笔记本电脑上。您要使用外部硬盘驱动器吗?云端?哪个云服务?

保留期限

每个备份需要保留多长时间?是否需要一年前的文件,或者它们只是积尘,是否可以用较新的备份代替??

加密

备份的安全性很重要,尤其是当您拥有专有信息(例如机密产品价格信息,或更重要的是客户记录)时。制定计划以使备份保持加密 & 受保护(AES 256位私钥加密和TLS / SSL传输安全性). 了解有关加密的更多信息.

将备份存储在RAID阵列上

RAID阵列(独立磁盘冗余阵列)不仅是创建网站和/或数据的多个副本的好主意,而且还可以提高性能。万一其中一个磁盘发生故障,它们将提供额外的保护。这是专业备份服务提供的典型功能.

选择性还原

如果不需要还原站点的每个部分,请制定适当的过程。也许大多数都还可以,但是有些碎片可能已经丢失了。例如,如果一个产品表已损坏,则只需在SQL转储中替换该产品表。与清除所有内容以替换一个文件相比,这通常是一个更好的主意。实际上,如果出现问题,替换所有内容是一个常见的错误。当然可以,但是您将丢失上次备份后发生的所有操作。最好确定是否需要更换所有东西。如果其他所有方法都失败,则将完整备份保存为万不得已.

恢复备份

好的,您的网站消失了,但是您有备份。如何从备份还原站点?这相对简单。如果副本存储为zip文件,则只需将其解压缩并将所有文件重新加载到其原始位置即可。取得SQL文件(在SQL转储过程中创建的文本文件),然后使用命令行或使用phpMyAdmin(或其他任何图形数据库管理系统,如MySQL Workbench)重新创建数据库,然后导入文件或将整个内容复制到SQL窗口中并运行它.

在本地对其进行测试,如果一切正常,则将其重新加载到服务器上。您应该立即备份并运行.

如果您使用专业的备份服务,则此过程可能会更加容易。任何体面的服务都应为您提供还原备份的工具,无论是部分还原还是完整站点还原.

额外的信贷:发展阶段

除了简单备份现有文件之外,如果您正在开发自己的站点或与开发人员团队合作,则可能希望考虑使用一个版本控制系统来记录开发过程中的所有阶段。建立网站时,通常会有版本和网站设计方式的更改。也许您正在对网站进行彻底的重新设计,但想保留旧网站的副本.

另外,在开发站点时,经常会发生一些严重错误,您需要以更改之前的方式查找文件。您还需要保留网站的本地开发版本,以便在公开启动之前进行更新或更改。.

这就是版本控制系统发挥作用的地方。这些类似于每次进行更改时都复制文件夹的副本,但是更加井井有条,可以进行协作开发.

吉特 是使您的开发过程井井有条的绝佳工具。它不仅可以在本地创建良好的代码备份,还可以轻松地来回移动到云中以进行安全的远程备份。而不是在不同目录中具有多个文件副本;它们存储在分支中,这使多个人可以处理文件而没有那么多的冲突风险。准备就绪后,可以将其合并到主要开发分支中,并最终合并到要部署的主分支中.

以下是两个最受欢迎的Git存储库.

  • 的GitHub 如果您愿意共享源代码(它的核心是开放源代码),则它是免费的,而且还提供了非常实惠的私有代码存储库。这也是浏览代码段的好地方,并且拥有大量的开发人员社区
  • 比特桶 类似;尽管社区规模不大,但它们确实免费提供了一些私人存储库.

结论

尽管某些方法相对于其他方法具有更好的优势,但是备份您的站点是必不可少的。理想情况下,您应该考虑结合使用上述方法。确保您有重复的文件副本,这将为您免去很多麻烦。即使您的站点没有发生任何不良情况,并且您不需要这样做,也请考虑一下无需担心的额外睡眠。您将文件备份到计算机上;您的网站应遵循相同的规则.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map