]>
git.proxmox.com Git - proxmox-backup.git/blob - src/backup/mod.rs
1 //! Server/client-specific parts for what's otherwise in pbs-datastore.
3 use anyhow
::{bail, Error}
;
5 // Note: .pcat1 => Proxmox Catalog Format version 1
6 pub const CATALOG_NAME
: &str = "catalog.pcat1.didx";
8 /// Unix system user used by proxmox-backup-proxy
9 pub const BACKUP_USER_NAME
: &str = "backup";
10 /// Unix system group used by proxmox-backup-proxy
11 pub const BACKUP_GROUP_NAME
: &str = "backup";
13 /// Return User info for the 'backup' user (``getpwnam_r(3)``)
14 pub fn backup_user() -> Result
<nix
::unistd
::User
, Error
> {
15 match nix
::unistd
::User
::from_name(BACKUP_USER_NAME
)?
{
16 Some(user
) => Ok(user
),
17 None
=> bail
!("Unable to lookup backup user."),
21 /// Return Group info for the 'backup' group (``getgrnam(3)``)
22 pub fn backup_group() -> Result
<nix
::unistd
::Group
, Error
> {
23 match nix
::unistd
::Group
::from_name(BACKUP_GROUP_NAME
)?
{
24 Some(group
) => Ok(group
),
25 None
=> bail
!("Unable to lookup backup user."),
29 pub use pbs_datastore
::backup_info
;
30 pub use pbs_datastore
::backup_info
::*;
31 pub use pbs_datastore
::catalog
;
32 pub use pbs_datastore
::catalog
::*;
33 pub use pbs_datastore
::checksum_reader
;
34 pub use pbs_datastore
::checksum_reader
::*;
35 pub use pbs_datastore
::checksum_writer
;
36 pub use pbs_datastore
::checksum_writer
::*;
37 pub use pbs_datastore
::chunk_stat
;
38 pub use pbs_datastore
::chunk_stat
::*;
39 pub use pbs_datastore
::chunk_store
;
40 pub use pbs_datastore
::chunk_store
::*;
41 pub use pbs_datastore
::chunker
;
42 pub use pbs_datastore
::chunker
::*;
43 pub use pbs_datastore
::crypt_config
;
44 pub use pbs_datastore
::crypt_config
::*;
45 pub use pbs_datastore
::crypt_reader
;
46 pub use pbs_datastore
::crypt_reader
::*;
47 pub use pbs_datastore
::crypt_writer
;
48 pub use pbs_datastore
::crypt_writer
::*;
49 pub use pbs_datastore
::data_blob
;
50 pub use pbs_datastore
::data_blob
::*;
51 pub use pbs_datastore
::data_blob_reader
;
52 pub use pbs_datastore
::data_blob_reader
::*;
53 pub use pbs_datastore
::data_blob_writer
;
54 pub use pbs_datastore
::data_blob_writer
::*;
55 pub use pbs_datastore
::file_formats
;
56 pub use pbs_datastore
::file_formats
::*;
57 pub use pbs_datastore
::index
;
58 pub use pbs_datastore
::index
::*;
59 pub use pbs_datastore
::key_derivation
;
60 pub use pbs_datastore
::key_derivation
::*;
61 pub use pbs_datastore
::manifest
;
62 pub use pbs_datastore
::manifest
::*;
63 pub use pbs_datastore
::prune
;
64 pub use pbs_datastore
::prune
::*;
66 pub use pbs_datastore
::store_progress
::StoreProgress
;
68 pub use pbs_datastore
::dynamic_index
::*;
69 pub use pbs_datastore
::fixed_index
;
70 pub use pbs_datastore
::fixed_index
::*;
72 pub use pbs_datastore
::read_chunk
::*;
75 pub use chunk_stream
::*;
79 pub use read_chunk
::*;
83 pub use dynamic_index
::*;
91 mod cached_chunk_reader
;
92 pub use cached_chunk_reader
::*;