我正在Linux 10.0.4 LTS上运行一个LAMP网站。 我是一个新手系统pipe理员(虽然我是一个开发人员),我正在寻求一些build议如何最好地为我的网站实施备份。 我的数据库是mySQL和所有我的数据库表使用InnoDb数据库引擎。
这些是我想要实现的备份的要求:
包含mysql数据库的增量备份和完整备份我希望每小时进行一次增量备份,但是每天,每周和每月备份。但是我不清楚在这些备份数据集中使用什么样的轮换 – 以及如何pipe理它们更重要的是,如何从date的一组完整/增量备份中恢复数据库)
我想压缩和encryption数据,以便我可以远程存储它(亚马逊S3)
我想要这个完全自动化的(即作为一个cron工作)。
注意:我的服务器是“无头的”,因为它没有安装X窗口或其他graphics用户界面,所以我正在考虑使用bash脚本来实现备份。 或者,如果有可以帮助我运行这种备份的软件,那么它需要能够从命令行运行。
我需要备份的项目是:
这是我的问题:
是否有现有的软件,我可以用来做到这一点,还是我需要写我自己的(bash脚本)?
什么是build议使用的备份策略(根据每小时,每天,每周运行等)以及如何从特定时间点恢复网站?
如果我必须编写自己的bash脚本(也是bash脚本新手),我将不胜感激,如果有人可以提供一个框架脚本来帮助我开始。
[编辑]
symcbean:你能列举一下你需要的更多信息,以便给出更多量身定制的build议吗? 就预算而言,我们只能说它为零。 所以我无法从(专用)服务器托pipe+ Amazon S3存储中分出更多。 这也是为什么我需要使用开源软件,或者使用Linux上的可用工具编写自己的bash脚本。
这是一个新的网站,最初备份的数据可能低于1Gb,但我完全预计数据每天至less会增长100Mb左右。 如果我每天进行完整备份并通过电缆将备份文件发送到Amazon S3,这非常快速地加起来。
我build议增量备份,因为我想节省与传输相关的带宽成本(更不用说服务器负载),每天可能会有几千兆字节的数据。
此外,目前还没有人解释如何在[每小时?],每日,每周和每月备份之间进行轮换。
那里有很多(非常不同的)信息/意见 – 关于备份。 如上所述,我只想知道我所推荐的“最佳实践”。
如果需要更多信息以便能够提出更多的“量身定制的build议”,请告诉我,以便我可以提供所需的信息。
每小时增量备份,还包括每日,每周和每月的备份
我强烈build议不要在你的系统上使用mysqldump。 即使使用innodb表,也很难从正在运行的系统获得连贯的备份。
像往常一样,在访问和预算方面你没有提供太多的指示,也没有提供你想要在这里实现的明确指示。
我会build议使用mysql复制来维护一个热备用数据库。 但是要获得系统的一致快照,您需要closures客户端上的复制,运行mysqldump,然后打开复制并将转储文件保存在完整备份中。
在软件方面 – 你显然已经在MSWindows环境中提出。 编写脚本很容易,所有用于压缩,encryption,命名和移动文件的工具在Linux发行版中都是标准的 – 只是您如何使用它们的问题。 话虽如此,我最喜欢备份文件的软件是afio – 这通常不包括在最小安装(你将有tar,cpio,gzip,rsync,ssh)。 如果你有一个谷歌afio然后你会发现很多文件解释其优点与默认工具相比。
如果您知道如何以及是否可以恢复备份,则备份只能用于任何用途。
恕我直言,增量备份是浪费时间。 当备份介质非常昂贵时 – 当然不是那种情况 – 与您的时间和精力以及数据的价值相比,存储相对便宜。 恢复系统的最后一件事是恢复系统的恢复顺序,以获得一致的映像 – 如果你的备份失败了,那么所有的备份都会出错。
最好的解决scheme将是一个热备份复制(使用rsync的文件和数据库的MySQL复制)。 然后从待机状态定期创build非现场图像(通过networking,磁带,DVD …)。
如果你真的很费钱,那么“热备份”可以很容易地存在于现场的同一个盒子上的第二个磁盘上,但对于偏好,我build议一个单独的机器。
除了有一个中央备份服务器,我们在工作中做什么,我们将驱动器定期轮换到非现场来源。 我们的部门有rsync设置,每个Web服务器都有一个密钥对帐户设置。 这样,我们有一个盒子,它将连接到我们的每个Web服务器,执行一个mysqldump,并在mysqldump上执行rsynch以及我们指定的web目录。
恢复:你可以使用rsynch重build到给定的一天。
对于增量,它是一个设置不同的cron作业,以期望间隔执行的问题。
如果您有兴趣,我可以提供更多的细节。 这是一个内置的脚本。
我有一个类似的问题有关数据库的时候,你可能想回顾一下: 如何从一个集体备份恢复一个mysql数据库
至于rsync,你可能想查看下面的网站: http : //www.sanitarium.net/golug/rsync_backups_2010.html