如果你的主机提供商有一天打电话告诉你,他们的设施发生了灾难性的火灾,并且他们服务器上的所有数据(包括你的!)都丢失了怎么办?

当然,这种情况不太可能发生,你的主机更有可能比你做得更好备份数据。但是……这当然是有可能的,而且最终,你对你的网站负责。如果你从事客户工作,备份的责任就更加重要了!
那么大家是怎么做的呢?你如何备份网站?你是否会定期备份?我必须承认,我做得并不像我应该的那样好。我所做的是定期下载整个网站的内容(包括数据库转储),并将它们保存在本地备份文件夹中。我的整个系统都进行了冗余备份,所以我认为我在这方面很安全。不过,我希望可以使用更自动化的方式。
以下是选择:
- 我不备份。(你应该备份!)
- 我将文件下载到本地。(并备份这些文件)
- 我的主机不是帮我做了这件事吗?(也许吧,你应该检查一下)
- 我的主机帮我做了这件事。(我检查过了)
- 我有一些自动化的解决方案。(请分享!)
实际的投票在侧边栏!RSS 阅读器需要跳转到网站才能投票。
我只是将所有文件下载到本地。刻录到 CD 上并贴上清晰的标签。我通常每两周执行一次此操作。这取决于对网站所做的更改。如果客户没有更新,备份就没有意义了……;)
我们使用一个应用程序,该应用程序会对整个网站(每个网站)进行 cPanel 备份,并将其下载到该机器上。然后我们使用 jungledisk 上传到 Amazon S3。这样,我们就在办公室的机器上有一个副本,以及一个异地存储的副本。
Web 服务器拥有生产文件和数据库的副本。
生产和内容文件保存在本地镜像驱动器上;然后我也同步到笔记本电脑(MS SyncToy)。
数据库定期下载到本地内容文件夹。
定期进行 DVD 备份。
我的主机帮我做了这件事,我每周都会在本地保存备份。每个月,我都会将它们刻录到 DVD-R 上。
“我将文件下载到本地。(并备份这些文件)”
我通过 FTP 下载文件(使用我的主机网站备份压缩工具),然后使用 Carbonite 备份本地文件。
我使用 Subversion 来管理任何网站的代码。对于实际内容,我会进行自动数据库转储,这些转储也会提交到 Subversion。对于文件,将会有一个包含所有内容的 .zip 文件,并手动存储。
我的主机(Dreamhost)自动帮我做了这件事。
如果你有 Transmit,你可以使用 Automator 将在线文件同步到指定的本地文件夹。将此操作放入 iCal 中,你就拥有了一个自动备份解决方案。我相信你也可以使用 Fetch 创建一个镜像指令脚本,并在 ical 中使用它。
手动下载,然后我依靠 mozy 来备份它。到目前为止,效果还不错。
我在我的 web 服务器上运行一个 Ruby 脚本,该脚本压缩我的域名文件夹和数据库,并自动将它们上传到我的 Amazon S3 帐户。这非常容易实现(并且我在这里有完整的说明/屏幕截图 http://www.christinawarren.com/2008/06/24/s3-backup-media-temple-gs/——它们针对 (mt) Media Temple 客户,但可以修改脚本以在安装了 Ruby 的任何服务器上运行),并且我每天在 S3 上都会获得更新的副本。我将其设置为替换现有副本(我没有执行需要递归备份的任何操作),但可以轻松地将其设置为在覆盖之前存储 7 天的副本。
Donnie——你可以完全避免使用 Jungled Disk,只需创建一个单独的 CRON 作业,将备份直接发送到 S3 即可。这肯定更快/更自动化。我认为有人甚至为使用 CPanel 和 S3Sync(我基于其脚本的 Ruby 实用程序)的人编写了一些内容。
我再怎么强调拥有备份的重要性都不为过。即使你的主机为你做了备份,也请考虑至少每月进行一次数据库备份,以防万一。
我使用 rdiff-backup 备份站点和数据库。
我离线开发我的网站,使用本地 web 服务器运行驱动它的脚本。然后我通过 ftp 将更改上传到实时网站。这种方法为我提供了网站的完整脱机镜像,该镜像包含在我的(诚然零星的)硬盘备份中。
rdiff-backup、cron 作业和 ssh 对我来说很有效。数据库每天使用 mysqldumper 转储……
使用 cron 作业每 24 小时创建一次备份,创建数据库转储,备份所有服务器和软件设置,备份邮件目录……创建每个备份的 tarball,并在最后压缩所有内容。
定期下载它们,然后不时地刻录到 DVD 上。
不要依赖“主机帮我做了这件事”。我知道有几个人因为这个原因丢失了所有工作。
我每周日凌晨 2 点自动将我的网站文件夹备份到我的 500GB 外置硬盘上。
我偶尔会将其刻录到 DVD 上,制作两份副本,一份放在家里,另一份放在我叔叔那里。
我还在研究 iDrive 和 xDrive,你可以免费存储高达 2GB 或 5GB 的文件。
使用 Rsync 同步到家里的 Linux 服务器。
Carbonite!在线备份应用程序,每年约 50 美元。此外,我们使用的许多主机公司都提供备份。而且,当网站进行任何重大更改时,我通常会在本地创建存档副本。
我使用一个 WordPress 插件来备份我的内容。然后,由于我在本地开发主题,因此我的主题文件在我的本地机器上。
我的主机帮我做了这件事。(我检查过了)
我在这里看到了一些很棒的想法。我希望 Chris Coyier 尝试其中的一些,并发布一篇关于他发现最适合他的方法的“操作指南”文章。
我“通过计划失败来做好准备”……也就是说,我每天晚上都会使用 crontab 一个小的 bash/MySQLDump 解决方案……
……每月仅通过 tar 命令的奇迹将任何标记更改存储到我的站点。
首先,我将所有网站保存在 SCM 中。Git 是我首选的 SCM。我将我的 Git 存储库保存在办公室的 Linux 服务器上。因此,不仅所有内容都备份在那里,而且我还拥有添加、删除和更改的完整历史记录。对于静态网站,SCM 可能听起来有点过头了,但事实并非如此。Subversion 也不错,但分支很麻烦。
其次,我非常喜欢Time Machine。起初,我认为它只是一个噱头,对于我的工作方式来说过于简单。我承认我错了。TM 使恢复到已知状态或图形的先前版本不仅简单,而且非常快速。而且它几乎不会造成干扰。
最后,我使用Capistrano来管理我大部分的网站。Capistrano通常由Ruby on Rails开发者使用,但它对任何网站都同样有效。它允许我通过SSH在服务器上执行一系列远程脚本,将所有内容打包成tar包并通过SCP传回给我。包括SQL数据库。我可以将网站下线进行维护、推送更新、回滚到以前的版本。相信我,一旦你使用Capistrano,你就不会再想用其他方式了。那么Capistrano的备份在哪里呢?在Web服务器上。你可以告诉Capistrano在服务器上保留X个版本,如果你愿意,可以压缩它们。
我在多台机器(工作、家庭)和可移动媒体上保留本地副本,并使用Subversion进行组织,该Subversion由我的网络主机托管。旧的内容会被从本地副本中删除,并每半年压缩到DVD备份中。
我还按照Mean Dean之前的建议做了——crontab和bash/MySQLDump每晚备份。这算过度保护吗?
我对备份很痴迷。对于我的每个网站,我都会在每次发布、重要的评论轮次和/或插件更改后备份数据库的两个副本(zip和gzip)。这些备份文件存储在我的本地机器上,本地机器使用一个辅助的外部硬盘进行备份。每周一次,我还同步并备份所有网站的文件。最后,大约每月一次,我会将所有内容备份到第三个外部硬盘上,并将其锁在防火保险箱中。很棒的主题,Chris——绝对值得更多关注。
我把它打印成二进制文件,强迫我地下室里锁着的50个韩国孩子记住这些数字(否则他们就不会得到食物)。然后,地下室用一个只有核导弹或手持链锯的狂暴企鹅才能穿透的保险库门进行加固。
好了,说正经的,我通常通过CMS的插件自动备份,或者设置一个带有自动邮件功能的cronjob。这样我就能收到邮件备份,这些备份会自动放到正确的文件夹中。简单有效。
我使用wp-backup插件来备份wordpress;)
对于文件,我会下载它们:D
我制作的网站大多只是HTML/CSS,有时会使用简单的PHP。我喜欢将我所有的网站项目作为我在新项目上工作时的参考(你知道,当你出现“我以前是怎么做到的?”的时候),我还在家和工作时兼职,只要有时间。我在我的家用电脑和工作电脑上都本地保存了所有网站的副本——我认为这应该足够安全了。
“我有一些自动化的解决方案。(请分享!)”
我使用一个名为[BackUpWordPress][1]的WordPress插件,它会自动备份我的数据库和服务器上的所有文件,并将它们提供给我,文件格式为tar.gz,然后我可以下载它们。这些tar.gz文件还使用Jungle Disk进行备份,我用它来备份我的笔记本电脑。
[1]: http://wordpress.designpraxis.at/plugins/backupwordpress/
我们使用Dropbox,它为我们提供了多台电脑的同步和文件版本控制。它会映射你系统(Mac、Win、Linux)中的一个文件夹,你直接在该文件夹中工作,更改的文件会自动提交到服务器和Dropbox共享文件夹中的所有其他电脑。非常有用。
我的主机每周备份一次,但这个投票让我开始思考……
创建一个网页(在我的例子中是php)来简单地转储整个站点数据库,例如作为XML文件,应该非常简单。然后创建一个Google App Engine应用程序,使用它们的fetch URL API查询此页面并将结果存储在Google App Engine数据存储区中。免费帐户限制为500 MB,但这对于许多网站来说应该足够了。
唯一的问题是如何以最可靠的方式定期触发Google App Engine的提取。你可以在Google App上设置一个页面来触发它,然后使用cron job定期查询Google App页面,但这看起来很笨拙。也许可以通过某种方式在Google App Engine API中本地定期运行命令。我没有Python经验,所以我不知道从哪里开始寻找。
这将为你提供一个自动化的异地备份到Google服务器。除非你设置了RAID阵列,否则可能比本地存储更可靠。
我以前只是在HDD上保留一个副本。
但现在我使用subversion。
我还没有找到一个好的备份数据库的方法……我可能需要学习如何为此设置cron job。
我实际上是在我的电脑上工作,并将我所做的更改上传到我的主机服务器上。我将我的电脑备份到一个外部硬盘上。
我的主机帮我做了这件事(Host Europe)。我只是从FTP下载压缩的备份——非常方便。
我使用了一个自动化的解决方案来备份/恢复服务器上的文件。该软件名为Allway Sync,它简单易用。
一个用于自动备份MySQL和MsSQL的软件会很棒。
我目前使用r-sync备份到BQInternet.com,该网站托管在纽约。我的专用服务器位于德克萨斯州达拉斯。
我正在购买自己的服务器,并将其共同托管在德克萨斯州达拉斯,但新服务器将配备(4x)146GB SCSI硬盘,采用RAID 10配置,这将提供一定程度的本地备份,并继续使用BQInternet的服务器进行异地备份。
几件事
首先,我使用subversion来保留服务器本地备份,以防我需要从网站的另一个副本启动(有时,我也会将其保存在另一个域的服务器上)。其次,我的服务器由我的主机公司自动备份。第三,我在iMac上保留所有网站的本地副本。第四,该本地副本通过Time Machine存储在外部硬盘上。第五,我在MacBook上保留了一个副本,该副本通过Unison与iMac自动同步,因此它始终是当前或几乎是当前的备份。
嗯,因为我几乎99%的东西都是在本地开发的,所以我的数据存储在本地并每天备份(Time Machine万岁!;))。除了数据库。我使用mysqldumper轻松地每周创建备份,下载它们并将其存储在备份驱动器上。所以……嗯,双重保存,因为我的主机也关心这些事情。:)
我保留了一个本地副本,并使用一个名为Syncback的程序在可移动(USB)驱动器上创建冗余副本。
在这方面我比较简单……我只是将所有文件下载到本地文件夹中。有时我会根据情况将其放在外部HDD上。
@所有人:感谢大家的分享!哇,这里有很多好主意。就像我在文章中提到的那样,我只是定期下载本地副本,并让我的普通备份来处理它。但是……我认为这启发我去做一些更自动化和更硬核的事情。
我的博客数据库每天晚上都会备份(我每天都会收到包含sql文件的邮件),并且每月下载所有重要的文件。SQL文件也存储在Google中,因为我使用Google Apps作为我的电子邮件,主题文件备份在另一个服务器上(由我出于其他原因使用的另一个主机备份),以及我的外部硬盘上。偶尔我会将主题+wp-images文件夹+sql文件的备份上传到Dropbox。我有点痴迷。;)
我实际上是在运行Leopard的Mac上开发所有内容,类似于你的图像,所有内容都使用Time Machine备份。使用MAMP设计和开发多个博客项目,使我能够将所有内容保存在本地WordPress安装中,并且它会自动备份。
数据库方面,我现在都是手动备份的,但我正在考虑使用Automatic MySQL Backup来看看它的效果。
使用Plesk每周备份服务器配置和源代码,还有一个我编写的小脚本,每天晚上转储数据库并发送到远程服务器:http://nicksergeant.com/blog/programming/quick-shell-script-backing-databases-ftping-them-remote-server-and-notifying-me-any-file-changes
哦,所有内容也都在Subversion版本控制下。尽管代码库与我的生产服务器在同一台机器上,所以存在单点故障,但我已将代码检出到本地机器(并使用Time Machine备份)。
目前除了我的博客之外没有太多内容,所以我只是下载WordPress可以生成的导出/备份文件。
我计划在我完成自己的CMS时在其构建类似的功能。
我离线开发。我只需要手动备份数据库。
我将副本下载到本地,然后有一个mozy.com账户为我备份。在开发新网站时,我使用我的Dropbox账户将其同步到3台不同的计算机。因此,即使硬盘崩溃,我还有另外两个选项,其中包含我正在处理的网站的最新版本。唯一真正需要一段时间才能与Dropbox同步的是.psd文件。其他所有内容几乎都是即时的。
SVN。
每个版本都手动备份并注释,备份的备份会自动保存在我们的一台服务器上。
为了使我们所有在不同人员之间协作的项目保持一致,我们会检出或上传到代码库。这样,我们始终在处理最新的共享版本。
我使用WordPress的常规导出功能。有时(每年大约3次)我会下载完整的本地文件夹。如果我的主机帮我做这件事,我就不用自己做了:)
我认为我在备份方面可能有点过头了。
我的主机执行备份(我已检查过)。
我有一个Automator脚本,它使用Transmit在每晚将文件同步到我的Mac,并且Mac使用Timemachine备份。WordPress插件Database Backup也每晚运行并将其通过电子邮件发送到我的Gmail帐户。
因此,要丢失我的网站,就需要发生灾难,同时破坏我的Mac和TimeMachine硬盘,以及我的主机。要发生这种情况,世界上会发生一些非常糟糕的事情,我认为我会有比我的网站更重要的事情需要担心。
我总是每月制作网站备份的DVD,包括所有文件和数据库。
我将我的Web文件备份到办公室的外部WD硬盘上,并且经常备份。我还压缩文件并将其上传到我个人域名之一的安全文件夹中。
我犯过没有备份的错误,就像许多人一样。我无意再犯同样的错误。
我很想开始使用Subversion进行备份,尤其是在Coda支持它之后。
唯一的问题是,我无论如何也无法理解如何设置它。每篇“设置”文章看起来都像是为终生在终端中工作的开发者编写的。所有这些ssh字符串对我来说都是胡言乱语。
现在,如果有人愿意写一篇普通用户(即前端设计师!)都能理解的文章——那将是七种酷炫的体验。
@Nathan
对于Subversion,您必须习惯使用SSH。我建议您先学习一些SSH的基础知识(一旦掌握了它,它实际上非常简单)——实际上并没有太多需要学习的东西。
至于Subversion,它可能稍微复杂一些。我并没有完全掌握它,只是足够做我需要做的事情。检入 (ci)、检出 (co)、导出,大概就是这些了。Capistrano通常会帮我处理剩下的事情。
@Nathan
Subversion有几个图形界面,可以使管理代码库更容易一些。但说实话,您必须理解SVN的基本原理,然后图形界面才有意义。请记住,仅仅因为您的项目在版本控制下,并不意味着它已备份,除非您使用的是远程代码库和/或服务器。
将项目置于版本控制下的真正好处是,您可以回滚所做的更改(例如,犯了一个巨大的错误,客户对此感到愤怒)。只需几个命令,您就可以回到一个可用的TAG。然后在TRUNK中修复您的问题,或者创建一个BRANCH来修复特定问题。然后将所有更改合并在一起。听起来很困难,但您最终每天都会执行几次,因此您很快就会熟练掌握。
我已经将所有项目切换到GIT,并且非常喜欢它。它比SVN快得多,而且我喜欢显示分支的视觉工具。GIT是为了管理Linux内核的版本控制而开发的,所以它背后有相当大的分量。
所以,大胆地进入终端吧,水很舒服!
那么,除了深入终端之外,还有没有更简单的替代版本控制系统呢?
您可以找到用于内容管理系统、数据库等内容的简单基于Web的设置(有时甚至是一键式设置)——为什么版本控制没有类似的东西呢?这真的让我觉得它比需要的复杂和麻烦得多。我尝试过通过终端进行SSH设置,并且 a) 它不起作用,b) 我不知道它为什么不起作用,因为我不知道自己在做什么,以及 c) 我服务器的设置指南(以及任何指南)总是假设您知道自己在做什么。
我使用mediatemple进行托管。我有一个所有内容的本地副本(我有一个带有RAID 5的Ubuntu安装)。我将所有内容检入MT上的Subversion。我运行一个cron作业来转储数据库并将其检入svn(每晚、每周或每月,具体取决于网站更新的频率)。我每六个月将所有内容备份到DVD,然后将其存储在我的银行个人安全保管箱中。
我还有一台开发服务器(也是RAID 5),它每周都会对其本地svn副本进行打包。
我还向所有客户提供ssh访问权限,并每晚对其文件/数据库进行打包,然后告诉他们备份是他们的责任。
鉴于我并不热衷于Cron作业,我使用SiteVault 2.2(http://www.site-vault.com)备份数据库和FTP。感谢这个帖子,我刚刚发现V.3现在支持安全FTP。我正在考虑切换到Handy Backup(http://www.handybackup.net),但它确实更贵,而且我不确定其功能。我可能会下载它试用一下,因为它们的最新版本相当新(6月)。
然后显然我用Mozy备份整个文件夹。我为所有客户都这样做。
您可能想看看这个:http://davidwalsh.name/backup-mysql-database-php
有很多很棒的资源可以帮助您备份网站信息。只需进行研究,确保您与信誉良好的公司达成了一笔好交易。