Compare commits
2 Commits
bfd278abbe
...
f71db90922
| Author | SHA1 | Date |
|---|---|---|
|
|
f71db90922 | |
|
|
2c256cf904 |
|
|
@ -33,6 +33,8 @@ pub enum BackupType {
|
|||
pub struct Backup<T: Clone> {
|
||||
/// When the backup was started (also corresponds to the name)
|
||||
pub start_time: chrono::DateTime<Utc>,
|
||||
/// When the backup finished
|
||||
pub end_time: chrono::DateTime<Utc>,
|
||||
pub size: usize,
|
||||
/// Type of the backup
|
||||
pub type_: BackupType,
|
||||
|
|
@ -117,6 +119,7 @@ impl<T: Clone> Backup<T> {
|
|||
Ok(Backup {
|
||||
type_: BackupType::Full,
|
||||
start_time,
|
||||
end_time: chrono::Utc::now(),
|
||||
size: tar_gz.bytes_written(),
|
||||
delta,
|
||||
metadata: None,
|
||||
|
|
@ -174,6 +177,7 @@ impl<T: Clone> Backup<T> {
|
|||
Ok(Backup {
|
||||
type_: BackupType::Incremental,
|
||||
start_time,
|
||||
end_time: chrono::Utc::now(),
|
||||
size: tar_gz.bytes_written(),
|
||||
delta,
|
||||
metadata: None,
|
||||
|
|
@ -235,19 +239,17 @@ impl<T: Clone> fmt::Display for Backup<T> {
|
|||
// Pretty-print size
|
||||
// If your backup is a petabyte or larger, this will crash and you need to re-evaluate your
|
||||
// life choices
|
||||
let mut index = 0;
|
||||
let mut size = self.size as f64;
|
||||
|
||||
while size >= 1024.0 {
|
||||
index += 1;
|
||||
size /= 1024.0;
|
||||
}
|
||||
let index = self.size.ilog(1024) as usize;
|
||||
let size = self.size as f64 / (1024.0_f64.powi(index as i32));
|
||||
let duration = self.end_time - self.start_time;
|
||||
|
||||
write!(
|
||||
f,
|
||||
"{} ({}, {:.2}{}, {})",
|
||||
"{} ({}, {}m{}s, {:.2}{}, {})",
|
||||
self.start_time.format(Backup::FILENAME_FORMAT),
|
||||
letter,
|
||||
duration.num_seconds() / 60,
|
||||
duration.num_seconds() % 60,
|
||||
size,
|
||||
BYTE_SUFFIXES[index],
|
||||
self.delta
|
||||
|
|
|
|||
Loading…
Reference in New Issue