我运行一个网站,目前在共享托pipe服务提供商上托pipe大约300GB(超过1000个文件)的培训video。 我们每月增加约50个video文件(〜20GB)。 目前我们的备份已经在我们的员工的台式机器上,但是我想设置一些更自动化的东西。 我将考虑其他托pipe选项,但在此期间,我希望对此服务器上备份的以下计划的意见/改进。
有两种types的文件将被备份。 首先是上面描述的video文件。 这些只需要每个文件备份一次,因为它们永远不会改变。 第二种types是网站本身的文件。 这些应该定期备份和跟踪修改。 这里的大部分变化不会是编码变化,而进行变更的人员1)技术上并不倾向,2)分布在美国各地。 考虑到这些事实,我认为一个基于svn的解决scheme不会奏效。
所以这是我的想法:
你看到这个方法有什么问题吗? 第一次执行脚本时是否会遇到问题,因为在第一次全面传输大量数据?
听起来对我来说是一个不错的主意,但我认为你可能会在这里重新发明轮子,因为我确信有备份软件可以满足你的需求。
至于备份网站的源代码 – 这不是更好的版本控制软件?
我个人的解决scheme是类似的是S3和git。
首先,将所有video同步到S3。 请注意,这也为您的网站提供了一些备份,因为如果需要,您也可以直接从S3提供文件。
其次,将所有文件从“站点本身”放到一个git仓库中,每当你想做一个备份时,先进行一次提交,然后在S3上放一个.git目录。 请注意,除了你之外,没有人必须知道如何使用git。
这为您提供了简单的video重复备份和更复杂的基于时间轴的网站备份。 当然,虽然我使用S3,但您同样可以使用Dropbox或远程主机等。
您的应用程序听起来很普遍,我不会build议投入时间来滚动您自己的解决scheme。
像rsnapshot这样的东西可以照顾你的版本需求(当然目标机器有足够的磁盘空间),而不必重新发明轮子,因为你是“备份数据库”。 你需要使用rsync协议,而不是FTP,但是你将会使用rsync传输线路的数据更less。
如果你想变得更加stream血,你可以给FSVS (Fast System VerSioning)一下。 这是一个使用Subversion后端存储文件和跟踪版本的备份系统,但不需要最终用户与Subversion进行交互。
备份软件,可以排除某些types的文件存在(对不起,我不能给你今天的软件名称,这是在这里的巴士底日和我的同事不在:))。 它将允许您分别备份大文件(video)和通用文件。
至于数据库表:在灾难发生的情况下,我不会依赖这么复杂的事情。 我只会依靠人类可读的纯文本文件。 你不知道案件会有多糟糕,除了你有一个离线备份硬盘,你必须从中拯救世界,你的公司和你的**。 在这种情况下,您可以挂载HD并在几秒钟内打开一个文本文件,当需要几分钟或更长时间从数据库表中提取数据(如果没有损坏)做和想到。
时间间隔:一天一次或一个月两次的每日差异和完整备份似乎对我来说合理和充分(我为一家networking公司而不是银行工作)。 因人而异。
我们尽量在完全不同的地方保留同一文件的许多副本,但仍然知道哪些是最近的文件。 如果备份硬盘与连接的计算机发生碰撞,您会怎么做? 如果你没有这个HD的第二个副本,那么你有麻烦了。 以防万一,家人或朋友的家是存放encryption磁盘的好地方。 那么你必须pipe理密码和知道他们的人。 父母,夫妻,老板,最好的朋友等等
编辑:这不是ServerFault.com的问题吗?
我有一个词给你我的朋友: rsnapshot
它可以完成上面列出的所有function,并且不需要编写一行代码。 它只备份已更改的文件 – 所以在最初的大型备份之后,它只会备份新的/已更改的文件。 它运行速度非常快,很容易启动和运行。