2016-03-04 88 views
0

我想使用FileSystemWatcher立即将新生成的文件推送到云中。使用FileSystemWatcher备份文件

我担心的是,如果正在关注的应用程序关闭了一段时间,那么它将会丢失一些文件,并且他们将永远不会进行备份。

反正有这个吗?或者我应该使用消息队列?

回答

0

你可以有两个FileSystemWatchers进程。 1.第一个观看传入文件位置,并将文件从传入位置移动(不是复制)到传出位置。 2.第二个观看传出位置并将文件推送到云端。

除了FileSystemWatchers,该进程还会在启动时扫描传入位置。这样,如果它停机并添加了新文件,那么当它重新启动时,这些新文件仍然会移动到传出位置。在这个过程中,没有任何东西可以转移到离开的位置,所以没有什么可以错过。

更新 我想这也取决于文件的性质。如果您需要更高的可靠性,那么您可以构建一个更强大的过程,捕获位置中任何文件的详细信息,并排列要复制的文件列表(可能在表格中)。这样,您不必依靠存在或不存在文件以确定状态。

+0

这是个聪明的主意 - 它使用文件的位置作为状态。尽管按需备份的麻烦在于,您无法确定整体备份是否正确 - 您必须希望该机制能够完美地工作。所以我正在创建一个文件同步器。 (AWS提供了一个,但它不会执行加密。)我认为最终的做法是每个文件按需进行备份,然后每天进行一次同步以检查一切正确。 –

+0

我收回,aws s3同步具有加密作为选项。 –