【问题标题】:C# - Volume Shadow Copy Alternatives for Backup?C# - 用于备份的卷影复制替代方案?
【发布时间】:2011-08-24 01:05:16
【问题描述】:

我在我的 C# 应用程序中实现了一个 RAMDisk,一切都很好,除了我需要定期备份内容,因为它是易失性的。我一直在与 AlphaVSS 争夺 Shadow Copy 备份一个星期,然后有人告诉我 VSS 在 RAMDisk 上不起作用。

RAMDisk 上的内容(Minecraft 的世界文件)非常小,但可能有数百个。其中大多数是 .dat 文件,大小只有几百字节,还有其他文件,每个文件大小为 2-8MB。

我昨天在Here 上发布了这个帖子,建议的解决方案是使用 FileStream,并从中保存数据。我刚刚在另一个 Stack Overflow 问题上读到这对于二进制数据来说是一个可怕的想法,所以我正在寻找一种更好的方法来备份所有这些小文件,其中一些文件可能正在使用中。

【问题讨论】:

  • RAM 磁盘上的文件系统类型是什么?
  • 我用 NTFS 文件系统创建 RAMDisk
  • 好吧,那么它应该不是VSS的问题。您能否提供一些有关 RAM 磁盘限制的信息?由于 VSS 是在 Windows 上复制锁定文件的自然方式。 VSS 实际上就是为此而创建的。
  • RAMDisk 软件的开发人员告诉我,VSS 通常不适用于 RAMDisk(在我的情况下是 ImDisk)。我创建了一个 NTFS RAMDisk 并使用了 VSS 命令行工具,果然,它没有将 E: 识别为用于创建卷影副本的有效驱动器。
  • 好吧,也许你可以试试其他的RAM磁盘软件? softperfect.com/products/ramdisk 例如,只是为了确定..

标签: c# backup filestream shadow-copy


【解决方案1】:

我建议您先将所有小文件压缩在一起,然后将它们备份到一个位置。

参考:

  1. 压缩库:http://www.icsharpcode.net/opensource/sharpziplib/
  2. 使用 System.IO.File.Copy 复制压缩包。

【讨论】:

  • 您可以将其添加到实现 ramdisk 的 c# 代码中。还是您的意思是您设置了一个 ramdisk 并将其与 c# 一起使用以将数据存储在 ram 中?如果是这样,您可能应该转换为内存流。
猜你喜欢
  • 1970-01-01
  • 2011-03-02
  • 2019-09-11
  • 1970-01-01
  • 2011-04-27
  • 2016-02-21
  • 2012-04-09
  • 1970-01-01
  • 2014-07-31
相关资源
最近更新 更多