2008-12-18 225 views
0

我正在使用的应用程序会随使用情况动态生成文件。这使得分期,开发和生产之间的备份和同步成为一项真正的重大挑战。我们可以得到顺利解决方案(如果可行)的一种方法是在备份数据库时可以备份动态生成的文件,并在恢复时可以将这些文件从数据库中移出文件系统。如何将文件系统中的文件导入/导出MySQL DB?

我想知道是否有任何可用(付费或免费)应用程序可以用作脚本来实现这一点。

基本上,如果我有

/usr/share/appname/server/dynamicdir 
/usr/share/appname/server/otherdir/etc/resource.file 

然后采取以上,并与脚本把他们mysql数据库的例子。

如果您需要更多信息,请让我知道。

回答

0

使用PHP,Perl,Python等应该是微不足道的,你是否在寻找某人为你写这篇文章?

+0

我的问题的主要目的是要知道这是否微不足道,并已经在开源社区。我正在寻找一种简单的方法来备份我们的应用程序,该应用程序由于设计缺陷而构建,并且很难进行备份。如果我们需要进一步开发,那么我们必须重新考虑。 Thks – Geo 2008-12-19 16:13:20

1

您的意思是说应用程序将文件存储为MySQL数据库中的Blob和/或创建大量临时表?或者你只是想临时文件 - 它们自己与数据库无关 - 将作为备份存储在MySQL中?

我不确定尝试使用MySQL作为文件备份的网络新中介是个好主意。如果应用程序已经使用它,那么有一件事,如果不是的话,MySQL在这里不是正确的工具。

无论如何。如果您有兴趣在时间点捕获文件系统,则答案是利用LVM snapshots。您可能必须重新构建服务器才能将文件系统导入到LVM中,并且有足够的空闲存储空间来存储您认为需要的快照。

我建议为这个应用临时文件创建一个新的挂载点。如果你的MySQL表使用的是InnoDB,一个简单的脚本来在后台运行mysqldump --single-transaction,然后是lvm快照过程,那么你可以将这些脚本同步到少于一秒的时间。