备份发布到ArcGIS Server的ESRI文件地理数据库的正确方法是什么?


11

我有一个发布到arcgis服务器地图服务的ESRI文件地理数据库(v10)。服务运行时,fGDB被锁定。我是否需要停止服务才能获得干净的备份?或者,是否可以通过arcpy脚本或目录执行备份?我目前正在使用Windows robocopy将fGDB传输到备份驱动器。这是显示锁定文件的输出:

 New File           0 Bikepaths.CFP0026.4968.5140.sr.lock
 New File           0 BuildingFootprints.CFP0026.4968.5140.sr.lock

等,等等。

Answers:


4

任何服务器都应具有影子驱动器。您可以使用“影子驱动器” 压缩文件地理数据库,这将删除.lock文件并以最有效的方式对文件重新排序。然后,您可以备份此文件。这是一对很好的起点:

http://help.arcgis.com/zh-CN/arcgisdesktop/10.0/help/index.html#/File_geodatabases_compressing_vs_compacting/003n0000007r000000/

注意:影子驱动器具有磁盘镜像的其他名称

http://en.wikipedia.org/wiki/Disk_mirroring


嗯,我一直认为压缩是针对sde地理数据库的。谢谢!
mogollon22'2010-10-27

我管理着几台服务器,尽管它们确实具有冗余磁盘(RAID5,Drobo),并且没有阴影或镜像驱动器,但它们可以承受一个或多个驱动器的故障而不会丢失数据。无论如何,我都会用xcopy(或xxcopy)复制fgdb ,跳过失败,然后压缩结果。这不是最好的解决方案,因为要素类由于编辑会话可能被锁定而被锁定,但这与影子/镜像驱动器没有什么不同。
马特·威尔基

2

我们有几个在后端的FGDB上运行的高使用率生产Web应用程序。FGDB每晚都会被清除并用新数据重建。我们有一个基于AGSSOM编写的.NET控制台应用程序,该应用程序在更新过程运行时停止了服务。看看AGSSOM,它非常漂亮。在删除之前,这里使用一些C#来备份当前FGDB:

// Only archive it FGDB already exists, if this is first run, then nothing to archive
            if (Directory.Exists(String.Concat(c.fgdbDir, @"\", kvp.Key[0], ".gdb")))
            {
                c.msg = String.Concat(Environment.NewLine, "Archiving data for ", kvp.Key[0], " - ",
                                      DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt"));
                Messaging.Log(c.msg, c.lw);
                // Create the FGDB folder in archive dir if not already there
                if (!Directory.Exists(String.Concat(c.fgdbArchiveDir, @"\", kvp.Key[0], ".gdb")))
                {
                    Directory.CreateDirectory(String.Concat(c.fgdbArchiveDir, @"\", kvp.Key[0], ".gdb"));
                    // Now copy from clips to archive
                    foreach (FileInfo fi in source.GetFiles())
                    {
                        fi.CopyTo(System.IO.Path.Combine(target.ToString(), fi.Name), true);
                    }
                }
            }

它仅使用Directory.CreateDirectory和FileInfo.CopyTo复制FGDB-Windows将FGDB视为另一个文件夹。像冠军一样工作。然后,在更新过程完成之后,我们使用基于AGSSOM的应用程序再次启动服务。


这是非常宝贵的!
mogollon22'2010/
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.