AutoArchive._services.archiver¶
Provides services for creating the backup.
Modules¶
archiver_service_identification¶
ArchiverServiceIdentification interface.
-
class
AutoArchive._services.archiver.archiver_service_identification.ArchiverServiceIdentification[source]¶ Bases:
AutoArchive._infrastructure.service.iservice_identification.IServiceIdentificationIdentifies the Archiver service.
Parameters required by the service upon creation:
workDir: Path to a writable directory. The service will use it as persistent storage (typestr).-
interface¶ alias of
_TarArchiverProviderBase
-
providerIdentificationInterface¶ alias of
_TarArchiverProviderIdentification
-
archiver_service_provider_ids¶
ArchiverServiceProviderIDs enum.
-
AutoArchive._services.archiver.archiver_service_provider_ids.ArchiverServiceProviderIDs= TarInternal, TarExternal¶ Implementations of the archiver service.
backup_definition¶
MIN_COMPRESSION_STRENGTH and MAX_COMPRESSION_STRENGTH constants, BackupTypes,
ArchiverFeatures, BackupSubOperations, BackupOperationErrors enums
and BackupDefinition class.
-
class
AutoArchive._services.archiver.backup_definition.BackupDefinition[source]¶ Bases:
objectContainer class for information needed to create a backup.
-
backupId¶ The backup identifier, typically the name is used.
Return type: str
-
backupType¶ Type of the backup.
Return type: BackupTypes
-
destination¶ Path to the directory which contains the backup.
Return type: str
-
root¶ Path to the root directory of the source content.
Return type: str
-
-
AutoArchive._services.archiver.backup_definition.MIN_COMPRESSION_STRENGTH= 0¶ Minimal compression strength value.
-
AutoArchive._services.archiver.backup_definition.MAX_COMPRESSION_STRENGTH= 9¶ Maximal compression strength value.
-
AutoArchive._services.archiver.backup_definition.BackupTypes= Tar, TarGz, TarBz2, TarXz¶ Backup types.
-
AutoArchive._services.archiver.backup_definition.ArchiverFeatures= CompressionStrength, Incremental¶ Features that archiver service may support.
-
AutoArchive._services.archiver.backup_definition.BackupSubOperations= Unknown, UnknownFileOperation, Stat, Open, Read, Finish¶ Operations executed during backup creation.
-
AutoArchive._services.archiver.backup_definition.BackupOperationErrors= UnknownError, UnknownOsError, PermissionDenied, SocketIgnored, UnknownTypeIgnored, FileChanged, SomeFilesChanged, DirectoryRenamed¶ Errors that may occur during backup operation.
_archiver_service_component¶
-
class
AutoArchive._services.archiver._archiver_service_component.ArchiverServiceComponent(applicationContext, serviceAccessor)[source]¶ Bases:
AutoArchive._infrastructure.service.iservice_component.IServiceComponentService component for archiver services.
Registers service identified by
ArchiverServiceIdentificationwith two providers of_TarArchiverProviderIdentification-like interface.
-
class
AutoArchive._services.archiver._archiver_service_component.ArchiverServiceComponent(applicationContext, serviceAccessor)[source] Bases:
AutoArchive._infrastructure.service.iservice_component.IServiceComponentService component for archiver services.
Registers service identified by
ArchiverServiceIdentificationwith two providers of_TarArchiverProviderIdentification-like interface.-
destroyServices()[source] See:
IServiceComponent.destroyServices()
-
_tar_archiver_provider_identification¶
_TarArchiverProviderIdentification.
-
class
AutoArchive._services.archiver._tar_archiver_provider_identification._TarArchiverProviderIdentification(serviceProviderId)[source]¶ Bases:
objectProvides information about services defined in
ArchiverServiceProviderIDs.Parameters: serviceProviderId ( ArchiverServiceProviderIDs.) – Identifier of the service that this instance shall provide information for.-
getSupportedFeatures(backupType=None)[source]¶ See:
IArchiverProviderIdentification.getSupportedFeatures().
-
providerId¶ See:
IArchiverProviderIdentification.providerId().
-
_tar_archiver_provider_base¶
_TarArchiverProviderBase class.
-
class
AutoArchive._services.archiver._tar_archiver_provider_base._TarArchiverProviderBase(workDir)[source]¶ Bases:
AutoArchive._infrastructure.service.iservice.IServiceBase class for tar archiver service providers.
Abstract constructor of this class, should be called from derived constructors. It initializes the
workDir_property.Parameters: workDir ( str) – Path to a writable directory. The service will use it as persistent storage.-
backupFiles(backupDefinition, compressionStrength=None, overwriteAtStart=False)[source]¶ Creates a backup.
Parameters: - backupDefinition (
BackupDefinition) – Defines the backup that shall be created. All attributes of the passed instance has to be initialized. - compressionStrength (
int) – Value from interval <MIN_COMPRESSION_STRENGTH, MAX_COMPRESSION_STRENGTH> representing the strength of compression. It has to be non-None only for backup types that supports compression and compression strength setting. - overwriteAtStart – If
True, backups are overwritten at the start of creation; otherwise they are overwritten at the end of creation (new backups are created with temporary name first and renamed when completed).
:type
boolReturns: Path to the created backup.
Return type: strRaises: - RuntimeError – If
compressionStrengthis non-NoneandbackupDefinition.backupTypedoes not supports compression or compression strength setting. If an unknown error occurred during backup creation. - ValueError – If
compressionStrengthis outside of required interval or ifbackupDefinition.backupTypeis not supported by the implementation. - OSError – If a system error occurred while making the backup.
Performs basic checks before the backup creation.
Note
Derived classes should call this base method on the beginning of the overridden method.
- backupDefinition (
-
backupFilesIncrementally(backupDefinition, compressionStrength=None, level=None, overwriteAtStart=False)[source]¶ Creates an incremental backup.
A backup of specified level or the next level in a row will be created. The maximal backup level will be increased (see
getMaxBackupLevel()).Parameters: - backupDefinition (
BackupDefinition) – Defines the backup that shall be created. All attributes of the passed instance has to be initialized. - compressionStrength (
int) – Value from interval <MIN_COMPRESSION_STRENGTH, MAX_COMPRESSION_STRENGTH> representing the strength of compression. It has to be non-None only for backup types that supports compression and compression strength setting. - level (
int) – Backup level that shall be created. IfNone, the next level in a row will be created, which is the the one returned bygetMaxBackupLevel(). The value has to be from interval <0,getMaxBackupLevel()>. - overwriteAtStart – If
True, backups are overwritten at the start of creation; otherwise they are overwritten at the end of creation (new backups are created with temporary name first and renamed when completed).
:type
boolReturns: Path to the created backup.
Return type: strRaises: - RuntimeError – If
compressionStrengthis non-NoneandbackupDefinition.backupTypedoes not supports compression or compression strength setting. If an unknown error occurred during backup creation. - ValueError – If
compressionStrengthorlevelis outside of required interval or ifbackupDefinition.backupTypeis not supported by the implementation. - NotImplementedError – If incremental backup is not supported.
- OSError – If a system error occurred while making the backup.
Performs basic checks before the incremental backup creation.
Note
Derived classes should call this base method on the beginning of the overridden method.
- backupDefinition (
-
doesAnyBackupLevelExist(backupDefinition, fromLevel=0, keepingId=None)[source]¶ Returns
True, if one or more backup levels of a backup defined bybackupDefinitionexists.Parameters: - backupDefinition (
BackupDefinition) – Defines the backup which existence shall be queried. - fromLevel (
int) – The specified backup level and above will be checked for existence. The value has to be >= 0. - keepingId (
str) – The kept backup with this ID will be checked for existence.Noneif the actual (not kept) backup will be checked.
Returns: Trueif any backup level exists,Falseotherwise.Return type: boolRaises ValueError: If
backupDefinition.backupTypeis not supported by the implementation.- backupDefinition (
-
doesBackupExist(backupDefinition, level=None, keepingId=None)[source]¶ Returns
True, if backup exists.Parameters: - backupDefinition (
BackupDefinition) – Defines the backup which existence shall be queried. - level (
int) – The level of backup of which existence shall be checked. IfNone, existence of non-incremental backup will be checked. The value has to be >= 0. - keepingId (
str) – The kept backup with this ID will be checked for existence.Noneif the actual (not kept) backup will be checked.
Returns: Trueif the backup exists,Falseotherwise.Return type: boolRaises ValueError: If
backupDefinition.backupTypeis not supported by the implementation.- backupDefinition (
-
static
getBackupFilePath_(backupId, backupType, destination, level=None, keepingId=None)[source]¶ Assembles the backup file name and returns a path to it.
Parameters: - backupId (
str) – ID of the backup for which the path shall be returned. - backupType (
BackupTypes) – Type of the backup. - destination (
str) – Path to the directory where the to the backup shall be created. - level (
int) – Backup level. - keepingId (
str) – Path of the kept backup with this ID will be returned.Noneif path of the actual (not kept) backup shall be returned.
Returns: Path to the backup file.
Return type: str- backupId (
-
getMaxBackupLevel(backupId)[source]¶ Determines and returns maximal backup level that can be created.
Parameters: backupId (
str) – ID of the backup for which the level shall be determined.Returns: The maximal backup level that can be created by
backupFilesIncrementally().Return type: intRaises: - NotImplementedError – If incremental backup is not supported.
- OSError – If a system error occurred.
-
getStoredBackupIds()[source]¶ Returns iterable of archive IDs which has some data stored in a persistent storage.
See also:
purgeStoredBackupData().Returns: Iterable of archive names. Return type: Iterable<str>Raises OSError: If a system error occurred.
-
classmethod
getSupportedFeatures(backupType=None)[source]¶ Returns a set of supported features, either all of them or for given
backupType.Parameters: backupType ( BackupTypes) – The backup type for which the features shall be returned orNoneif all supported features shall be returned.Returns: Supported features for given backupTypeor all supported features.Return type: set<ArchiverFeatures>Raises ValueError: If the given backupTypeis not supported by this service
-
keepBackup(backupDefinition, keepingId, newKeepingId, level=None)[source]¶ Keeps a backup with
keepingIdunder thenewKeepingId.See also:
doesBackupExist()ordoesAnyBackupLevelExist().Parameters: - backupDefinition (
BackupDefinition) – Defines the backup that shall be kept. - keepingId (
str) – The ID under which the backup is currently kept.Noneif it is not kept yet. - newKeepingId (
str) – The ID under which the backup is shall be kept. - level (
int) – The level of backup of which shall be kept. IfNone, non-incremental backup will be kept. The value has to be >= 0.
Raises: - ValueError – If
backupDefinition.backupTypeis not supported by the implementation or ifnewKeepingIdisNoneor empty string. - FileExistsError – If backup with the specified
newKeepingIdalready exists. - FileNotFoundError – If backup with the specified
keepingIddoes not exist. - OSError – If a system error occurred.
- backupDefinition (
-
purgeStoredBackupData(backupId)[source]¶ Removes internal data from a persistent storage for the passed
backupId.See also:
getStoredBackupIds().Parameters: backupId ( str) – ID of the backup of which data shall be purged.Raises OSError: If a system error occurred.
-
classmethod
raiseIfUnsupportedBackupType_(backupType)[source]¶ Raises an exception if the passed
backupTypeis not supported by the implementation.See also:
_TarArchiverProviderBase.supportedBackupTypes.Parameters: backupType ( BackupTypes) – The backup type that shall be checked.Raises ValueError: If the passed backupTypeis not supported by the concrete implementation.
-
removeBackup(backupDefinition, keepingId=None)[source]¶ Remove a backup.
Backup defined by
backupDefinitionwill be removed.Parameters: - backupDefinition (
BackupDefinition) – Defines backup that shall be removed.BackupDefinition.backupId,BackupDefinition.backupTypeandBackupDefinition.destinationattributes of the passed instance has to be initialized. - keepingId (
str) – The ID under which the backup is currently kept.Noneif it is not kept.
Raises: - ValueError – If
backupDefinition.backupTypeis not supported by the implementation. - OSError – If a system error occurred during removing operation.
- backupDefinition (
-
removeBackupIncrements(backupDefinition, level=None, keepingId=None)[source]¶ Remove backup increments starting from
level.Backups (increments) of backup level higher or equal than
levelor higher that the current backup level - in caselevelisNone- will be removed. The maximal backup level (getMaxBackupLevel()) will be set to the valuelevel.Parameters: - backupDefinition (
BackupDefinition) – Defines backup that shall be removed.BackupDefinition.backupId,BackupDefinition.backupTypeandBackupDefinition.destinationattributes of the passed instance has to be initialized. - level (
int) – The first level that shall be removed. All backups of levels higher or equal thanlevelwill be removed. IfNone, backups of levels higher or equal than the one returned bygetMaxBackupLevel()will be removed. The value has to be >= 0. - keepingId (
str) – The ID under which the backup is currently kept.Noneif it is not kept.
Raises: - ValueError – If
levelis outside of required interval or ifbackupDefinition.backupTypeis not supported by the implementation. - NotImplementedError – If incremental backup is not supported.
- OSError – If a system error occurred during removing operation.
- backupDefinition (
-
backupOperationError= <AutoArchive._infrastructure.py_additions.event object>¶
-
fileAdd= <AutoArchive._infrastructure.py_additions.event object>¶
-
supportedBackupTypes¶ Gets a set of backup types supported by this archiver service.
Return type: set<BackupTypes>
-
workDir_¶ Gets path to the working directory.
Return type: str
-
_external_tar_archiver_provider¶
_ExternalTarArchiverProvider class.
-
class
AutoArchive._services.archiver._external_tar_archiver_provider._ExternalTarArchiverProvider(workDir)[source]¶ Bases:
AutoArchive._services.archiver._tar_archiver_provider_base._TarArchiverProviderBaseExternal archiver service provider.
See also:
_TarArchiverProviderBase.Raises OSError: If creation of the snapshot directory failed. -
backupFilesIncrementally(backupDefinition, compressionStrength=None, level=None, overwriteAtStart=False)[source]¶
-
supportedBackupTypes= frozenset({0, 1, 2, 3})¶
-
_internal_tar_archiver_provider¶
_InternalTarArchiverProvider class.
-
class
AutoArchive._services.archiver._internal_tar_archiver_provider._InternalTarArchiverProvider(workDir)[source]¶ Bases:
AutoArchive._services.archiver._tar_archiver_provider_base._TarArchiverProviderBaseInternal archiver service provider.
See also:
_TarArchiverProviderBase.-
backupFilesIncrementally(backupDefinition, compressionStrength=None, level=None, overwriteAtStart=False)[source]¶
-
supportedBackupTypes= frozenset({0, 1, 2})¶
-