Beispiel #1
0
        public void Backup(string ServiceURL, string BackupFolderPath)
        {
            try
            {
                //백업 경로 생성
                string DBPath     = fbConn.Database;
                string BackupPath = string.Format
                                    (
                    "{0}\\{1}{2}{3}{4}{5}{6}{7}.gbk",
                    BackupFolderPath,
                    (ServiceURL.Replace("http://", string.Empty)).Replace(":", "_port"),
                    "Date(YYMMDDHHmm)",
                    DateTime.Now.Year.ToString().Substring(2),
                    DateTime.Now.Month.ToString().PadLeft(2, '0'),
                    DateTime.Now.Day.ToString().PadLeft(2, '0'),
                    DateTime.Now.Hour.ToString().PadLeft(2, '0'),
                    DateTime.Now.Minute.ToString().PadLeft(2, '0')
                                    );

                //백업 파일객체 생성
                FbBackupFile bkFile = new FbBackupFile(BackupPath);
                //백업하기
                FbBackup backup = new FbBackup();
                backup.BackupFiles.Add(bkFile);
                backup.ConnectionString = fbConn.ConnectionString;
                backup.Execute();
            }
            catch (Exception)
            {
                throw;
            }
        }
        private void btnCopiaDeSeguranca_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfdBackup = new SaveFileDialog();

            this.Cursor = Cursors.WaitCursor;
            FbBackup backupSvc   = new FbBackup();
            string   NomeArquivo = string.Empty;

            backupSvc.ConnectionString = Firebird.Conn;
            backupSvc.Verbose          = true;

            try
            {
                sfdBackup.InitialDirectory = Environment.CurrentDirectory + "\\BackUp";
                sfdBackup.Filter           = "Arquivo de BackUp DL 2020|*.dl";
                sfdBackup.Title            = "Salvar Como";
                sfdBackup.FileName         = "BackUp DL 2020 - Dia " + DateTime.Today.Day.ToString("0,0") + "_" +
                                             DateTime.Today.Month.ToString("0,0");

                if (sfdBackup.ShowDialog(this) == DialogResult.OK)
                {
                    if (sfdBackup.FileName != string.Empty)
                    {
                        NomeArquivo = sfdBackup.FileName;
                        if (File.Exists(NomeArquivo))
                        {
                            File.Delete(NomeArquivo);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Digite um nome para o backup", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    return;
                }

                this.Cursor = Cursors.WaitCursor;
                backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, 2048));

                backupSvc.Execute();
                MessageBox.Show("Backup do banco de Dados efetuado com Sucesso! \nArquivo Criado em: " + NomeArquivo, "Backup", MessageBoxButtons.OK, MessageBoxIcon.None);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro ao gerar Cópia de Segurança: " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                this.Cursor = Cursors.Default;
                backupSvc   = null;
            }
        }
Beispiel #3
0
        void BackupRestoreTest_BackupPart()
        {
            FbBackup backupSvc = new FbBackup();

            backupSvc.ConnectionString = BuildServicesConnectionString(FbServerType);
            backupSvc.Options          = FbBackupFlags.IgnoreLimbo;
            backupSvc.BackupFiles.Add(new FbBackupFile(TestsSetup.BackupRestoreFile, 2048));
            backupSvc.Verbose = true;

            backupSvc.ServiceOutput += new EventHandler <ServiceOutputEventArgs>(ServiceOutput);

            backupSvc.Execute();
        }
Beispiel #4
0
        public BackupAutomatico StartBackup()
        {
            var dateNow  = DateTime.Now.ToString("dd-MM-yyyy");
            var filePath = $"{PathDB}\\{dateNow}.fbk";

            var isNumeric = int.TryParse(PathDB.Substring(0, 1), out var n);

            if (isNumeric)
            {
                return(this);
            }

            if (!File.Exists(filePath))
            {
                var backupSvc = new FbBackup
                {
                    ConnectionString = $"character set=NONE;initial catalog={new Connect().GetDatabase()};user id={_user};data source={_host};user id={_db};Password={_pass};Pooling=true;Dialect=3"
                };

                backupSvc.BackupFiles.Add(new FbBackupFile(filePath, 8192));
                backupSvc.Verbose = true;
                backupSvc.Options = FbBackupFlags.IgnoreLimbo;
                backupSvc.Execute();
            }

            object obj = new
            {
                token      = Program.TOKEN,
                id_empresa = IniFile.Read("idEmpresa", "APP"),
                id_backup  = "N9TT-9G0A-B7FQ-RANC"
            };

            var jo = new RequestApi().URL(Program.URL_BASE + "/api/backup").Content(obj, Method.POST)
                     .AddFile("arquivo", filePath).Response();

            if (jo == null)
            {
                new Log().Add("BACKUPS", "[DB] Falha no backup", Log.LogType.info);
            }
            else if (jo["error"]?.ToString() == "False")
            {
                new Log().Add("BACKUPS", "[DB] Backup realizado com sucesso", Log.LogType.info);
                CleanBackups(PathDB);
            }
            else
            {
                new Log().Add("BACKUPS", "[DB] Falha no backup", Log.LogType.info);
            }

            return(this);
        }
Beispiel #5
0
        public void BackupTest()
        {
            FbBackup backupSvc = new FbBackup();

            backupSvc.ConnectionString = this.BuildServicesConnectionString();
            backupSvc.BackupFiles.Add(new FbBackupFile(@"c:\testdb.gbk", 2048));
            backupSvc.Verbose = true;

            backupSvc.Options = FbBackupFlags.IgnoreLimbo;

            backupSvc.ServiceOutput += new ServiceOutputEventHandler(ServiceOutput);

            backupSvc.Execute();
        }
Beispiel #6
0
 //
 public Boolean Backup(String p_path)
 {
     try
     {
         FbBackup mFbBackup = new FbBackup(C_Setting_DB.get_db_url());
         mFbBackup.BackupFiles.Add(new FbBackupFile(p_path, 2048));
         mFbBackup.Options = FbBackupFlags.IgnoreLimbo;
         //mFbBackup.Verbose = true;
         //mFbBackup.ServiceOutput += new ServiceOutputEventHandler(ServiceOutput);
         mFbBackup.Execute();
         return(true);
     }
     catch (Exception e)
     {
         F_File.LogError(e);
         return(false);
     }
 }
Beispiel #7
0
        public void BackupRestore_A_Backup01Test()
        {
            FbBackup backupSvc = new FbBackup();

            backupSvc.ConnectionString = BuildServicesConnectionString();
            backupSvc.Options          = FbBackupFlags.IgnoreLimbo;
            backupSvc.BackupFiles.Add(new FbBackupFile(ConfigurationManager.AppSettings["BackupRestoreFile"], 2048));
            backupSvc.Verbose = true;

            backupSvc.ServiceOutput += new ServiceOutputEventHandler(ServiceOutput);

            backupSvc.Execute();

            var backup = GetBackupRestoreFullPath();

            Assert.IsNotNull(backup);
            Assert.Greater(new FileInfo(backup).Length, 0);
        }
Beispiel #8
0
        /// <summary>
        /// Backups the database.
        /// </summary>
        /// <param name="files"></param>
        /// <param name="flags"></param>
        /// <param name="verbose"></param>
        public void BackupDatabase(Dictionary <string, int?> files, FbBackupFlags flags, bool verbose)
        {
            FbBackup svc = new FbBackup(this.Connection.ConnectionString)
            {
                //Set the flags
                Options = flags,
                Verbose = verbose
            };

            //Loop through all items in the dictionary
            foreach (KeyValuePair <string, int?> kvp in files)
            {
                //Keep adding backup files
                svc.BackupFiles.Add(GetBackupFile(kvp.Key, kvp.Value));
            }

            //Execute the backup
            svc.Execute();
        }
        public void Backup(string source, string dest)
        {
            if (!File.Exists(source))
            {
                throw new FileNotFoundException("Source file not found", source);
            }

            if (File.Exists(dest))
            {
                throw new IOException("Destination file already exists");
            }

            //frmBackup.addText("Backing up database");

            Debug.WriteLine("Backing up database");
            Debug.WriteLine("Source: {0} ({1})", source, GetFileSize(source));
            Debug.WriteLine("Destination: {0}", dest, null);

            string backupTemp = GetTempName(dest);

            Debug.WriteLine("Backing up to temp file - {0}", backupTemp, null);

            FbBackup backup = new FbBackup
            {
                ConnectionString = CreateConnectionString(source),
                Verbose          = true,
            };

            backup.BackupFiles.Add(new FbBackupFile(backupTemp, null));

            backup.ServiceOutput += ServiceOutput;

            backup.Execute();

            Debug.WriteLine("Backup complete - {0} ({1})", backupTemp, GetFileSize(backupTemp));

            Debug.WriteLine("Renaming temp backup file to - {0}", dest, null);

            File.Move(backupTemp, dest);

            Debug.WriteLine("Backup complete");
        }
Beispiel #10
0
        public void BackupRestoreTest()
        {
            var backupName = $"{Guid.NewGuid().ToString()}.bak";

            void BackupPart()
            {
                var backupSvc = new FbBackup();

                backupSvc.ConnectionString = BuildServicesConnectionString(FbServerType, Compression, WireCrypt, true);
                backupSvc.Options          = FbBackupFlags.IgnoreLimbo;
                backupSvc.BackupFiles.Add(new FbBackupFile(backupName, 2048));
                backupSvc.Verbose    = true;
                backupSvc.Statistics = FbBackupRestoreStatistics.TotalTime | FbBackupRestoreStatistics.TimeDelta;

                backupSvc.ServiceOutput += ServiceOutput;

                backupSvc.Execute();
            }

            void RestorePart()
            {
                var restoreSvc = new FbRestore();

                restoreSvc.ConnectionString = BuildServicesConnectionString(FbServerType, Compression, WireCrypt, true);
                restoreSvc.Options          = FbRestoreFlags.Create | FbRestoreFlags.Replace;
                restoreSvc.PageSize         = FbTestsSetup.PageSize;
                restoreSvc.Verbose          = true;
                restoreSvc.Statistics       = FbBackupRestoreStatistics.TotalTime | FbBackupRestoreStatistics.TimeDelta;
                restoreSvc.BackupFiles.Add(new FbBackupFile(backupName, 2048));

                restoreSvc.ServiceOutput += ServiceOutput;

                restoreSvc.Execute();
            }

            BackupPart();
            RestorePart();
            // test the database was actually restored fine
            Connection.Open();
            Connection.Close();
        }
Beispiel #11
0
        private bool BackupDatabaseFirebird(string arquivoBackup)
        {
            try
            {
                listBoxInfoBackup.Items.Clear();
                string_conexao = @"User="******";Password="******";Database=" + Conexao.SERVER + Conexao.BANCO + ";DataSource=localhost;Port=3050;Dialect=3;";

                FbBackup backupSvc = new FbBackup();
                backupSvc.ServiceOutput   += new ServiceOutputEventHandler(backupSvc_ServiceOutput);
                backupSvc.ConnectionString = string_conexao;
                backupSvc.BackupFiles.Add(new FbBackupFile(arquivoBackup, 2048));
                backupSvc.Verbose = true;
                backupSvc.Options = FbBackupFlags.IgnoreLimbo;
                backupSvc.Execute();
                backupSvc = null;
                return(true);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Beispiel #12
0
        private void Backup()
        {
            var DB      = txtPath.Text;
            var conexao = new FbConnectionStringBuilder();

            conexao.DataSource = "localhost";
            conexao.Database   = DB;
            conexao.UserID     = "SYSDBA";
            conexao.Password   = "******";

            var backup = new FbBackup();

            backup.ConnectionString = conexao.ToString();
            var fileInfo = new FileInfo(DB);

            pathDest = $"{fileInfo.DirectoryName}\\{DB.Substring(0, DB.Length - 3)}gbk";
            backup.BackupFiles.Add(new FbBackupFile(pathDest));
            backup.Verbose        = true;
            backup.Options        = FbBackupFlags.IgnoreLimbo;
            backup.ServiceOutput += ServiceOutput;
            backup.Execute();
        }
        public void BackupRestoreTest()
        {
            var backupName = $"{Guid.NewGuid().ToString()}.bak";

            void BackupPart()
            {
                FbBackup backupSvc = new FbBackup();

                backupSvc.ConnectionString = BuildServicesConnectionString(FbServerType, Compression, true);
                backupSvc.Options          = FbBackupFlags.IgnoreLimbo;
                backupSvc.BackupFiles.Add(new FbBackupFile(backupName, 2048));
                backupSvc.Verbose = true;

                backupSvc.ServiceOutput += new EventHandler <ServiceOutputEventArgs>(ServiceOutput);

                backupSvc.Execute();
            }

            void RestorePart()
            {
                FbRestore restoreSvc = new FbRestore();

                restoreSvc.ConnectionString = BuildServicesConnectionString(FbServerType, Compression, true);
                restoreSvc.Options          = FbRestoreFlags.Create | FbRestoreFlags.Replace;
                restoreSvc.PageSize         = TestsSetup.PageSize;
                restoreSvc.Verbose          = true;
                restoreSvc.BackupFiles.Add(new FbBackupFile(backupName, 2048));

                restoreSvc.ServiceOutput += new EventHandler <ServiceOutputEventArgs>(ServiceOutput);

                restoreSvc.Execute();
            }

            BackupPart();
            RestorePart();
            // test the database was actually restored fine
            Connection.Open();
            Connection.Close();
        }
Beispiel #14
0
 public static void b_(FbConnectionStringBuilder fc, string fbk_)
 {
     is_close = false;
     try
     {
         FbBackupFile fbk = new FbBackupFile(fbk_);
         FbBackup     fr  = new FbBackup();
         fr.Verbose          = true;
         fr.ConnectionString = fc.ConnectionString;
         fr.BackupFiles.Add(fbk);
         fr.Options        = FbBackupFlags.NoGarbageCollect;
         fr.ServiceOutput += ServiceOutput;
         fr.Execute();
     }
     catch (FbException ex)
     {
         error = ex.Message;
     }
     finally
     {
         is_close = true;
     }
 }
Beispiel #15
0
        private static bool BackupFirebird(string bkpFileName)
        {
            try
            {
                String string_conexao = @"User=SYSDBA;Password=masterkey;Database=" + SERVER + BANCO +
                                        ";DataSource=localhost;Port=3050;Dialect=3;";

                var backupSvc = new FbBackup
                {
                    ConnectionString = string_conexao
                };

                backupSvc.BackupFiles.Add(new FbBackupFile(bkpFileName, 2048));
                backupSvc.Verbose = true;
                backupSvc.Options = FbBackupFlags.IgnoreLimbo;
                backupSvc.Execute();
                return(true);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao realizar o backup.\nDetalhes: " + ex.Message);
            }
        }
Beispiel #16
0
        public void BackupLocalDocuments()
        {
            var pathDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            if (!Directory.Exists(pathDocuments + "\\Emiplus"))
            {
                Directory.CreateDirectory(pathDocuments + "\\Emiplus");
            }

            var isNumeric = int.TryParse(PathDB.Substring(0, 1), out var n);

            if (isNumeric)
            {
                return;
            }

            if (Directory.Exists(pathDocuments + "\\Emiplus"))
            {
                var dateNow = DateTime.Now.ToString("dd-MM-yyyy");

                if (!File.Exists(pathDocuments + $"\\Emiplus\\EMIPLUS-{dateNow}.fbk"))
                {
                    var backupSvc = new FbBackup
                    {
                        ConnectionString = $"character set=NONE;initial catalog={new Connect().GetDatabase()};user id={_user};data source={_host};user id={_db};Password={_pass};Pooling=true;Dialect=3"
                    };

                    backupSvc.BackupFiles.Add(new FbBackupFile(pathDocuments + $"\\Emiplus\\EMIPLUS-{dateNow}.fbk",
                                                               8192));
                    backupSvc.Verbose = true;
                    backupSvc.Options = FbBackupFlags.IgnoreLimbo;
                    backupSvc.Execute();
                }

                CleanBackups(pathDocuments + "\\Emiplus", 5);
            }
        }
        private void CheckBackUp()
        {
            try
            {
                Backup backup = Firebird.RetornaBackup();
                if (backup != null)
                {
                    if (Directory.Exists(backup.CaminhoBackup))
                    {
                        switch (backup.Periodo)
                        {
                        case 0:
                            if (backup.DataUltimoBackup == "")
                            {
                                FbBackup backupSvc   = new FbBackup();
                                string   NomeArquivo = backup.CaminhoBackup + "/BackUp DL 2020 - Dia " +
                                                       DateTime.Today.Day.ToString("0,0") + "_" +
                                                       DateTime.Today.Month.ToString("0,0") + ".dl";
                                if (File.Exists(NomeArquivo))
                                {
                                    File.Delete(NomeArquivo);
                                }
                                backupSvc.ConnectionString = Firebird.Conn;
                                backupSvc.Verbose          = true;
                                backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                backupSvc.Execute();
                                string date = DateTime.Today.ToString();
                                backup.DataUltimoBackup = date;
                                Firebird.AlterarDataUltimoBackup(date);
                                Firebird.SaveBackup(backup);
                            }
                            else
                            {
                                DateTime data = Convert.ToDateTime(backup.DataUltimoBackup);
                                data = data.AddDays(+1);
                                if (DateTime.Today == data || DateTime.Today > data)
                                {
                                    FbBackup backupSvc   = new FbBackup();
                                    string   NomeArquivo = backup.CaminhoBackup + "/BackUp DL 2020 - Dia " +
                                                           DateTime.Today.Day.ToString("0,0") + "_" +
                                                           DateTime.Today.Month.ToString("0,0") + ".dl";
                                    if (File.Exists(NomeArquivo))
                                    {
                                        File.Delete(NomeArquivo);
                                    }
                                    backupSvc.ConnectionString = Firebird.Conn;
                                    backupSvc.Verbose          = true;
                                    backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                    backupSvc.Execute();
                                    string date = DateTime.Today.ToString();
                                    backup.DataUltimoBackup = date;
                                    Firebird.AlterarDataUltimoBackup(date);
                                    Firebird.SaveBackup(backup);
                                }
                            }
                            break;

                        case 1:
                            if (backup.DataUltimoBackup == "")
                            {
                                FbBackup backupSvc   = new FbBackup();
                                string   NomeArquivo = backup.CaminhoBackup + "/BackUp DL 2020 - Dia " +
                                                       DateTime.Today.Day.ToString("0,0") + "_" +
                                                       DateTime.Today.Month.ToString("0,0") + ".dl";
                                if (File.Exists(NomeArquivo))
                                {
                                    File.Delete(NomeArquivo);
                                }
                                backupSvc.ConnectionString = Firebird.Conn;
                                backupSvc.Verbose          = true;
                                backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                backupSvc.Execute();
                                string date = DateTime.Today.ToString();
                                backup.DataUltimoBackup = date;
                                Firebird.AlterarDataUltimoBackup(date);
                                Firebird.SaveBackup(backup);
                            }
                            else
                            {
                                DateTime data = Convert.ToDateTime(backup.DataUltimoBackup);
                                data = data.AddDays(+7);
                                if (DateTime.Today == data || DateTime.Today > data)
                                {
                                    FbBackup backupSvc   = new FbBackup();
                                    string   NomeArquivo = backup.CaminhoBackup + "/BackUp DL 2020 - Dia " +
                                                           DateTime.Today.Day.ToString("0,0") + "_" +
                                                           DateTime.Today.Month.ToString("0,0") + ".dl";
                                    if (File.Exists(NomeArquivo))
                                    {
                                        File.Delete(NomeArquivo);
                                    }
                                    backupSvc.ConnectionString = Firebird.Conn;
                                    backupSvc.Verbose          = true;
                                    backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                    backupSvc.Execute();
                                    string date = DateTime.Today.ToString();
                                    backup.DataUltimoBackup = date;
                                    Firebird.AlterarDataUltimoBackup(date);
                                    Firebird.SaveBackup(backup);
                                }
                            }
                            break;

                        case 2:
                            if (backup.DataUltimoBackup == "")
                            {
                                FbBackup backupSvc   = new FbBackup();
                                string   NomeArquivo = backup.CaminhoBackup + "/BackUp DL 2020 - Dia " +
                                                       DateTime.Today.Day.ToString("0,0") + "_" +
                                                       DateTime.Today.Month.ToString("0,0") + ".dl";
                                if (File.Exists(NomeArquivo))
                                {
                                    File.Delete(NomeArquivo);
                                }
                                backupSvc.ConnectionString = Firebird.Conn;
                                backupSvc.Verbose          = true;
                                backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                backupSvc.Execute();
                                string date = DateTime.Today.ToString();
                                backup.DataUltimoBackup = date;
                                Firebird.AlterarDataUltimoBackup(date);
                                Firebird.SaveBackup(backup);
                            }
                            else
                            {
                                DateTime data = Convert.ToDateTime(backup.DataUltimoBackup);
                                data = data.AddDays(+30);
                                if (DateTime.Today == data || DateTime.Today > data)
                                {
                                    FbBackup backupSvc   = new FbBackup();
                                    string   NomeArquivo = backup.CaminhoBackup + "/BackUp DL 2020 - Dia " +
                                                           DateTime.Today.Day.ToString("0,0") + "_" +
                                                           DateTime.Today.Month.ToString("0,0") + ".dl";
                                    if (File.Exists(NomeArquivo))
                                    {
                                        File.Delete(NomeArquivo);
                                    }
                                    backupSvc.ConnectionString = Firebird.Conn;
                                    backupSvc.Verbose          = true;
                                    backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                    backupSvc.Execute();
                                    string date = DateTime.Today.ToString();
                                    backup.DataUltimoBackup = date;
                                    Firebird.AlterarDataUltimoBackup(date);
                                    Firebird.SaveBackup(backup);
                                }
                            }
                            break;
                        }
                    }
                    else
                    {
                        DialogResult result = MessageBox.Show(
                            "O caminho para o backup automático não está disponivel, deseja continuar?",
                            "Erro", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (result == DialogResult.No)
                        {
                            Process.GetCurrentProcess().Kill();
                        }
                        else
                        {
                        }
                    }
                }
            }
            catch
            {
            }
        }
Beispiel #18
0
        private async Task BackupAsync()
        {
            try
            {
                if (NewFbConf != null)
                {
                    List <string> aliases      = new List <string>();
                    var           firebirdConf = File.ReadAllLines(NewFbConf);

                    foreach (string line in firebirdConf)
                    {
                        if (line.Contains("Prolex"))
                        {
                            aliases.Add(line.Split(' ').FirstOrDefault());
                        }
                    }

                    foreach (string line in aliases)
                    {
                        try
                        {
                            var result = await Task.Run(() =>
                            {
                                var databaseFile = Path.Combine(ServicePath, $"{line}.prolexbkp");

                                FbConnectionStringBuilder cs = new FbConnectionStringBuilder();

                                if (line.Equals("Prolex6", StringComparison.InvariantCultureIgnoreCase))
                                {
                                    cs.UserID   = "sysdba";
                                    cs.Password = "******";
                                }
                                else if (line.Equals("Prolex", StringComparison.InvariantCultureIgnoreCase))
                                {
                                    cs.UserID   = "sysdba";
                                    cs.Password = "******";
                                }
                                cs.Database = line;

                                FbBackup backupSvc         = new FbBackup();
                                backupSvc.ConnectionString = cs.ToString();
                                backupSvc.BackupFiles.Add(new FbBackupFile(databaseFile, 2048));
                                backupSvc.Verbose        = true;
                                backupSvc.Options        = FbBackupFlags.IgnoreLimbo;
                                backupSvc.ServiceOutput += BackupSvc_ServiceOutputAsync;

                                backupSvc.Execute();
                                return(true);
                            });

                            StatusLabel.Content         = "";
                            progressBar.IsIndeterminate = false;

                            MessageBox.Show($"Backup do banco '{line}' concluído.", "Aviso", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
                    }
                    Close();
                }
                else
                {
                    Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Beispiel #19
0
        public void Copy(string source, string dest)
        {
            if (!File.Exists(source))
            {
                throw new FileNotFoundException("Source file not found", source);
            }

            if (File.Exists(dest))
            {
                throw new IOException("Destination file already exists");
            }

            Debug.WriteLine("Copying database");
            Debug.WriteLine("Source: {0} ({1})", source, GetFileSize(source));
            Debug.WriteLine("Destination: {0}", dest, null);

            string backupTemp = GetTempName(source);

            Debug.WriteLine("Backing up to temp file - {0}", backupTemp, null);

            FbBackup backup = new FbBackup
            {
                ConnectionString = CreateConnectionString(source),
                Verbose          = true,
                Options          = FbBackupFlags.NoGarbageCollect,
            };

            backup.BackupFiles.Add(new FbBackupFile(backupTemp, null));

            backup.ServiceOutput += ServiceOutput;

            backup.Execute();

            Debug.WriteLine("Backup complete - {0} ({1})", backupTemp, GetFileSize(backupTemp));

            string restoreTemp = GetTempName(source);

            Debug.WriteLine("Restoring to temp file - {0}", restoreTemp, null);

            FbRestore restore = new FbRestore()
            {
                ConnectionString = CreateConnectionString(restoreTemp),
                Verbose          = true,
                Options          = FbRestoreFlags.Create,
            };

            restore.BackupFiles.Add(new FbBackupFile(backupTemp, null));

            restore.ServiceOutput += ServiceOutput;

            restore.Execute();

            Debug.WriteLine("Restore complete - {0} ({1})", restoreTemp, GetFileSize(restoreTemp));

            Debug.WriteLine("Renaming temp restore file to - {0}", dest, null);

            File.Move(restoreTemp, dest);

            Debug.WriteLine("Deleting temp backup file - {0}", backupTemp, null);

            File.Delete(backupTemp);

            Debug.WriteLine("Copy complete");
        }
Beispiel #20
0
        // Yedek alma
        public void YedekAl(string GelenDizin)
        {
            try
            {
                if (GelenDizin == "Standart")
                {
                    FbConnection baglan = new FbConnection(Baglanti_Kodu());
                    // klasör varmı
                    baglan.Open();
                    FbCommand    Cek   = new FbCommand("select yedek_dizin from Ayar", baglan);
                    FbDataReader Oku   = Cek.ExecuteReader(); Oku.Read();
                    string       dizin = Oku["yedek_dizin"].ToString();
                    Oku.Close();
                    baglan.Close();
                    if (dizin == "0" || dizin == "")
                    {
                        dizin = Application.StartupPath + "\\Yedekler";
                        baglan.Open();
                        FbCommand Guncelle = new FbCommand("update Ayar set yedek_dizin='" + dizin + "'", baglan);
                        Guncelle.ExecuteNonQuery();
                        baglan.Close();
                    }

                    if (File.Exists(dizin) == false)
                    {
                        Directory.CreateDirectory(dizin);
                    }
                    izinVer(Environment.UserName, dizin);
                    string Yil = DateTime.Now.Year.ToString();

                    string Ay = DateTime.Now.Month.ToString();

                    string tamTarih = DateTime.Now.ToString("dd-MM-yyyy-h-m-s");
                    if (File.Exists(dizin + "\\" + Yil) == false)
                    {
                        Directory.CreateDirectory(dizin + "\\" + Yil);
                    }
                    izinVer(Environment.UserName, dizin + "\\" + Yil);
                    if (File.Exists(dizin + "\\" + Yil + "\\" + Aylar(byte.Parse(Ay.ToString()))) == false)
                    {
                        Directory.CreateDirectory(dizin + "\\" + Yil + "\\" + Aylar(byte.Parse(Ay.ToString())));
                    }
                    izinVer(Environment.UserName, dizin + "\\" + Yil + "\\" + Aylar(byte.Parse(Ay.ToString())));
                    FbBackup yedekAl = new FbBackup();

                    yedekAl.ConnectionString = baglanti_cumlesi;
                    yedekAl.BackupFiles.Add(new FbBackupFile(dizin + "\\" + Yil + "\\" + Aylar(byte.Parse(Ay.ToString())) + "\\" + tamTarih + ".fbk", 2048));
                    yedekAl.Verbose = true;

                    yedekAl.Options = FbBackupFlags.IgnoreLimbo;

                    yedekAl.Execute();

                    YedekAlmaTarihGuncelle();

                    MessageBox.Show("Yedekleme işlemi yapılmıştır.", "Bilgilendirme", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    string dizin = GelenDizin;

                    if (File.Exists(dizin) == false)
                    {
                        Directory.CreateDirectory(dizin);
                    }

                    string tamTarih = DateTime.Now.ToString("dd-MM-yyyy-h-m-s");

                    FbBackup yedekAl = new FbBackup();

                    yedekAl.ConnectionString = baglanti_cumlesi;
                    yedekAl.BackupFiles.Add(new FbBackupFile(dizin + "\\" + tamTarih + ".fbk", 2048));
                    yedekAl.Verbose = true;

                    yedekAl.Options = FbBackupFlags.IgnoreLimbo;

                    yedekAl.Execute();
                }
            }
            catch (Exception h1)
            {
                MessageBox.Show(h1.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #21
0
        private static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            int cont = 0;

            CRG08.Properties.Settings.Default.IndiceParou = -1;

            DataMigration.Migration.Exec();

            do
            {
                if (UltimosDAO.RetornaPrimeiraInicializacao())
                {
                    var bkp = new Backup();
                    bkp.ShowDialog();
                    UltimosDAO.SetarPrimeiraInicializacao(false);
                }
                VO.Backup backup = BackupDAO.RetornaBackup();
                if (backup != null)
                {
                    if (Directory.Exists(backup.CaminhoBackup))
                    {
                        switch (backup.Periodo)
                        {
                        case 0:
                            if (backup.DataUltimoBackup == "")
                            {
                                FbBackup backupSvc   = new FbBackup();
                                string   NomeArquivo = backup.CaminhoBackup + "/BackUp CRG 08 - Dia " +
                                                       DateTime.Today.Day.ToString("0,0") + "_" +
                                                       DateTime.Today.Month.ToString("0,0") + ".crg";
                                if (File.Exists(NomeArquivo))
                                {
                                    File.Delete(NomeArquivo);
                                }
                                backupSvc.ConnectionString = Util.DAO.Conn;
                                backupSvc.Verbose          = true;
                                backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                backupSvc.Execute();
                                string date = DateTime.Today.ToString();
                                BackupDAO.AlterarDataUltimoBackup(date);
                            }
                            else
                            {
                                DateTime data = Convert.ToDateTime(backup.DataUltimoBackup);
                                data = data.AddDays(+1);
                                if (DateTime.Today == data || DateTime.Today > data)
                                {
                                    FbBackup backupSvc   = new FbBackup();
                                    string   NomeArquivo = backup.CaminhoBackup + "/BackUp CRG 08 - Dia " +
                                                           DateTime.Today.Day.ToString("0,0") + "_" +
                                                           DateTime.Today.Month.ToString("0,0") + ".crg";
                                    if (File.Exists(NomeArquivo))
                                    {
                                        File.Delete(NomeArquivo);
                                    }
                                    backupSvc.ConnectionString = Util.DAO.Conn;
                                    backupSvc.Verbose          = true;
                                    backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                    backupSvc.Execute();
                                    string date = DateTime.Today.ToString();
                                    BackupDAO.AlterarDataUltimoBackup(date);
                                }
                            }
                            break;

                        case 1:
                            if (backup.DataUltimoBackup == "")
                            {
                                FbBackup backupSvc   = new FbBackup();
                                string   NomeArquivo = backup.CaminhoBackup + "/BackUp CRG 08 - Dia " +
                                                       DateTime.Today.Day.ToString("0,0") + "_" +
                                                       DateTime.Today.Month.ToString("0,0") + ".crg";
                                if (File.Exists(NomeArquivo))
                                {
                                    File.Delete(NomeArquivo);
                                }
                                backupSvc.ConnectionString = Util.DAO.Conn;
                                backupSvc.Verbose          = true;
                                backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                backupSvc.Execute();
                                string date = DateTime.Today.ToString();
                                BackupDAO.AlterarDataUltimoBackup(date);
                            }
                            else
                            {
                                DateTime data = Convert.ToDateTime(backup.DataUltimoBackup);
                                data = data.AddDays(+7);
                                if (DateTime.Today == data || DateTime.Today > data)
                                {
                                    FbBackup backupSvc   = new FbBackup();
                                    string   NomeArquivo = backup.CaminhoBackup + "/BackUp CRG 08 - Dia " +
                                                           DateTime.Today.Day.ToString("0,0") + "_" +
                                                           DateTime.Today.Month.ToString("0,0") + ".crg";
                                    if (File.Exists(NomeArquivo))
                                    {
                                        File.Delete(NomeArquivo);
                                    }
                                    backupSvc.ConnectionString = Util.DAO.Conn;
                                    backupSvc.Verbose          = true;
                                    backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                    backupSvc.Execute();
                                    string date = DateTime.Today.ToString();
                                    BackupDAO.AlterarDataUltimoBackup(date);
                                }
                            }
                            break;

                        case 2:
                            if (backup.DataUltimoBackup == "")
                            {
                                FbBackup backupSvc   = new FbBackup();
                                string   NomeArquivo = backup.CaminhoBackup + "/BackUp CRG 08 - Dia " +
                                                       DateTime.Today.Day.ToString("0,0") + "_" +
                                                       DateTime.Today.Month.ToString("0,0") + ".crg";
                                if (File.Exists(NomeArquivo))
                                {
                                    File.Delete(NomeArquivo);
                                }
                                backupSvc.ConnectionString = Util.DAO.Conn;
                                backupSvc.Verbose          = true;
                                backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                backupSvc.Execute();
                                string date = DateTime.Today.ToString();
                                BackupDAO.AlterarDataUltimoBackup(date);
                            }
                            else
                            {
                                DateTime data = Convert.ToDateTime(backup.DataUltimoBackup);
                                data = data.AddDays(+30);
                                if (DateTime.Today == data || DateTime.Today > data)
                                {
                                    FbBackup backupSvc   = new FbBackup();
                                    string   NomeArquivo = backup.CaminhoBackup + "/BackUp CRG 08 - Dia " +
                                                           DateTime.Today.Day.ToString("0,0") + "_" +
                                                           DateTime.Today.Month.ToString("0,0") + ".crg";
                                    if (File.Exists(NomeArquivo))
                                    {
                                        File.Delete(NomeArquivo);
                                    }
                                    backupSvc.ConnectionString = Util.DAO.Conn;
                                    backupSvc.Verbose          = true;
                                    backupSvc.BackupFiles.Add(new FbBackupFile(NomeArquivo, -1));
                                    backupSvc.Execute();
                                    string date = DateTime.Today.ToString();
                                    BackupDAO.AlterarDataUltimoBackup(date);
                                }
                            }
                            break;
                        }
                        Application.Run(new Principal());
                    }
                    else
                    {
                        DialogResult result = MessageBox.Show(
                            "O caminho para o backup automático não está disponivel, deseja continuar?",
                            "Erro", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (result == DialogResult.Yes)
                        {
                            Application.Run(new Principal());
                        }
                        else
                        {
                            Properties.Settings.Default.FecharPrograma = true;
                        }
                    }
                }
                else
                {
                    Application.Run(new Principal());
                }
            } while (Properties.Settings.Default.FecharPrograma == false);

            Environment.Exit(0);
        }