백엔드의 FGDB에서 실행되는 여러 고 가용성 프로덕션 웹 응용 프로그램이 있습니다. FGDB는 매일 밤 새로운 데이터로 지워지고 재 구축됩니다. 업데이트 프로세스가 실행되는 동안 서비스를 중지하는 AGSSOM 을 기반으로 작성한 .NET 콘솔 앱 이 있습니다. AGSSOM을 확인하십시오. 매우 매끄 럽습니다. 다음은 현재 FGDB를 백업하기 위해 사용하는 C # 중 일부입니다.
// 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);
}
}
}
FGDB를 복사하기 위해 Directory.CreateDirectory 및 FileInfo.CopyTo 만 사용합니다. Windows는 FGDB를 다른 폴더로 간주합니다. 챔피언처럼 작동합니다. 그런 다음 업데이트 프로세스가 완료된 후 AGSSOM 기반 애플리케이션을 사용하여 서비스를 다시 시작합니다.