是否足够备份整个服务器 – 包括MySQL?

我想要一个完整的备份我的服务器。 这是CentOS 5。

我的想法是:我可以把服务器上的每一个文件都备份好,然后备份一切。 服务器configuration,我的PHP文件,MySQL数据库,一切…这是一个准确的假设?

我还打算另外备份MySQL,但也许这不是必须的,因为数据库文件包含在我的服务器备份中?

进一步…我正在试用RackSpace服务器备份。 这基本上需要我的磁盘上的每个文件,并通过SSL备份,并encryption备份磁盘上的数据。 我可以每天运行它,只有“更新的文件”被发送到备份目的地。

感谢您的帮助

我不能同意尼尔斯。 我承认我不能和MySQL交谈,但是我可以从经验中得知,Oracle 不是这样的。

对光盘上的数据库文件进行快照即使是即时的,也是毫无意义的。 数据库包含许多事务,其中一些事务几乎完全刷新到光盘,其中一些事务被部分刷新,其中一些几乎全部留在RAM中。 使用数据库工具可以恢复光盘上的内容,但不太可能成为可行的数据库。

更糟糕的是,对于任何规模较大的数据库,备份将需要一些时间,这意味着仅光盘备份是毫无用处的。 把它看作是一个非常模糊的快照; 你拍摄一些相当快的东西(你的数据库),并且让快门打开所需的备份时间(20分钟?2小时?28小时?(对于我的一些生产数据库))。 照片会很模糊, 你会很早就捕捉到一些表格,很less有交易被委托给光盘。 其他人可能会在几个小时后赶上,到那时还会有数十万次的交易。 我不能说你的磁盘备份不能正常工作, 我甚至不能说用数据库取证工具就无法恢复; 但我不相信我的工作。

如果您的FS支持快照,并且您的数据库支持热备份(或同等function),则可以使用这些function。 热备份是指令数据库静默表空间; 它会caching某种日志文件上的所有待处理事务,并在将表空间置于热备份状态时将其全部应用。 当静默表空间并将它们备份到磁带时,这可以工作,但是,如果您可以静止表空间,快照底层文件系统,然后从热备份释放表空间并将快照closures到磁带,则此function是绝对有效的。

如果你不能pipe理 – 而且我经常做不到 – 那么我所做的就是告诉备份软件完全忽略数据文件,并让MySQL首先运行mysqldumps到在线存储器,然后再把它放到磁带上。 我从来没有从这些问题中恢复的问题。

但是,正如我总是在这些情况下所做的那样, 无论你做什么,都应该logging下来并经常进行testing。 最后一个比任何其他提示更重要。 如果你知道它有用,谁在乎你在做什么? 如果已知可以可靠地工作,则可以使用zip备份到在蝉翼上书写的WORM档案。 但是如果你没有testing它,谁在乎serverfault的说话头呢? 这不适合目的。

基本上是的 – 一切都是一个文件。 但是:由于某些数据仍在RAMcaching中,而且还没有写入磁盘,因此磁盘上的文件可能不一致。

所以,我只是使用文件备份在重负载下备份数据库,您可能会丢失一些事务。 通过文件进行完整备份的最安全的方法是closures数据库,同步磁盘,然后启动备份。 或者使用DB-means将数据库内容备份到磁盘 – 这些备份将或多或less地保持一致。 在MySQL中,你可以select不同的备份模式…

编辑:尝试MySQL的pipe理员(如果你有它可用)。 在那里你可以通过GUI指定备份作业。 结果将是一个相应的备份命令作为cron-job使用您的备份规范。