Ejemplo n.º 1
0
        private static void ExecuteBackup(DatabaseTargetConfigurationElement target)
        {
            try
            {
                BackupTask task = new BackupTask(target);
                task.BackupComplete += new EventHandler<DatabaseTargetEventArgs>(BackupComplete);
                task.BackupStart += new EventHandler<DatabaseTargetEventArgs>(BackupStart);
                task.CompressComplete += new EventHandler<DatabaseTargetEventArgs>(BackupCompressComplete);
                task.CompressStart += new EventHandler<DatabaseTargetEventArgs>(BackupCompressStart);
                task.TransferComplete += new EventHandler<DatabaseTargetEventArgs>(BackupTransferComplete);
                task.TransferProgress += new EventHandler<DatabaseTargetEventArgs>(BackupTransferProgress);
                task.TransferStart += new EventHandler<DatabaseTargetEventArgs>(BackupTransferStart);

                var result = task.Execute();

                if (!result.Success)
                {
                    WriteError(result.Exception);
                }
            }
            catch (Exception ex)
            {
                WriteError(ex);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Fires an event for this instance.
        /// </summary>
        /// <param name="handler">The event handler to fire.</param>
        /// <param name="schedule">The schedule to fire the event for.</param>
        /// <param name="target">The target to fire the event for, if applicable.</param>
        /// <param name="exception">The exeption to fire the event for, if applicable.</param>
        private void Fire(EventHandler<ScheduleEventArgs> handler, ScheduleConfigurationElement schedule, DatabaseTargetConfigurationElement target, Exception exception)
        {
            if (handler != null)
            {
                ScheduleEventArgs args = new ScheduleEventArgs()
                {
                    ErrorException = exception,
                    Name = schedule.Name,
                    RepeatType = schedule.Repeat,
                    StartDate = schedule.StartDate
                };

                if (target != null)
                {
                    args.OperationType = target is DatabaseRestoreTargetConfigurationElement ? ScheduleOperationType.Restore : ScheduleOperationType.Backup;
                    args.TargetName = target.Name;
                }

                handler(this, args);
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the BackupTask class.
 /// </summary>
 /// <param name="target">The backup target to execute.</param>
 public BackupTask(DatabaseTargetConfigurationElement target)
     : base(SThreeQLConfiguration.Section.AwsTargets[target.AwsBucketName])
 {
     this.Target = target;
 }