pub struct BackupManager { /* private fields */ }Expand description
Manages backup creation, restoration, and lifecycle
Implementations§
Source§impl BackupManager
impl BackupManager
Sourcepub fn new(backup_dir: impl AsRef<Path>) -> Result<Self>
pub fn new(backup_dir: impl AsRef<Path>) -> Result<Self>
Create a new BackupManager with the given backup storage directory.
Creates the directory if it does not exist.
Sourcepub fn create_backup(&self, source_dir: &Path) -> Result<BackupMetadata>
pub fn create_backup(&self, source_dir: &Path) -> Result<BackupMetadata>
Create a full backup of the source data directory.
Copies all files recursively from source_dir into a new backup
subdirectory, calculates a CRC32 checksum, and writes metadata.
Sourcepub fn restore_backup(
&self,
backup_id: &str,
target_dir: &Path,
) -> Result<BackupMetadata>
pub fn restore_backup( &self, backup_id: &str, target_dir: &Path, ) -> Result<BackupMetadata>
Restore a backup to the given target directory.
Verifies backup integrity before restoring. If target_dir already
exists, it is cleared first.
Sourcepub fn list_backups(&self) -> Result<Vec<BackupMetadata>>
pub fn list_backups(&self) -> Result<Vec<BackupMetadata>>
List all available backups sorted by creation time (newest first).
Sourcepub fn delete_backup(&self, backup_id: &str) -> Result<()>
pub fn delete_backup(&self, backup_id: &str) -> Result<()>
Delete a backup and all its data.
Sourcepub fn verify_backup(&self, backup_id: &str) -> Result<bool>
pub fn verify_backup(&self, backup_id: &str) -> Result<bool>
Verify backup integrity by recalculating the CRC32 checksum.
Returns true if the checksum matches, false otherwise.
Sourcepub fn backup_size(&self, backup_id: &str) -> Result<u64>
pub fn backup_size(&self, backup_id: &str) -> Result<u64>
Get the total size in bytes of a backup (data files only).
Auto Trait Implementations§
impl Freeze for BackupManager
impl RefUnwindSafe for BackupManager
impl Send for BackupManager
impl Sync for BackupManager
impl Unpin for BackupManager
impl UnsafeUnpin for BackupManager
impl UnwindSafe for BackupManager
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.