mirror of
https://git.proxmox.com/git/vma-to-pbs
synced 2025-04-28 13:04:38 +00:00
add --backup-time to allow import of archival data
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
parent
e3ae976fd6
commit
9602df9091
@ -2,6 +2,7 @@ use std::ffi::OsString;
|
||||
|
||||
use anyhow::{bail, Context, Error};
|
||||
use proxmox_sys::linux::tty;
|
||||
use proxmox_time::epoch_i64;
|
||||
|
||||
mod vma;
|
||||
mod vma2pbs;
|
||||
@ -20,6 +21,8 @@ Options:
|
||||
Namespace
|
||||
--vmid <VMID>
|
||||
Backup ID
|
||||
[--backup-time <EPOCH>]
|
||||
Backup timestamp
|
||||
--fingerprint <FINGERPRINT>
|
||||
Proxmox Backup Server Fingerprint [env: PBS_FINGERPRINT=]
|
||||
--keyfile <KEYFILE>
|
||||
@ -81,6 +84,8 @@ fn parse_args() -> Result<BackupVmaToPbsArgs, Error> {
|
||||
let pbs_repository = args.value_from_str("--repository")?;
|
||||
let namespace = args.opt_value_from_str("--ns")?;
|
||||
let vmid = args.value_from_str("--vmid")?;
|
||||
let backup_time: Option<i64> = args.opt_value_from_str("--backup-time")?;
|
||||
let backup_time = backup_time.unwrap_or_else(|| epoch_i64());
|
||||
let fingerprint = args.opt_value_from_str("--fingerprint")?;
|
||||
let keyfile = args.opt_value_from_str("--keyfile")?;
|
||||
let master_keyfile = args.opt_value_from_str("--master-keyfile")?;
|
||||
@ -165,6 +170,7 @@ fn parse_args() -> Result<BackupVmaToPbsArgs, Error> {
|
||||
pbs_repository,
|
||||
namespace,
|
||||
backup_id: vmid,
|
||||
backup_time,
|
||||
pbs_password,
|
||||
keyfile,
|
||||
key_password,
|
||||
|
@ -14,7 +14,7 @@ use proxmox_backup_qemu::{
|
||||
proxmox_backup_new_ns, proxmox_backup_register_image, proxmox_backup_write_data,
|
||||
PROXMOX_BACKUP_DEFAULT_CHUNK_SIZE,
|
||||
};
|
||||
use proxmox_time::{epoch_i64, epoch_to_rfc3339};
|
||||
use proxmox_time::epoch_to_rfc3339;
|
||||
use scopeguard::defer;
|
||||
|
||||
use crate::vma::VmaReader;
|
||||
@ -26,6 +26,7 @@ pub struct BackupVmaToPbsArgs {
|
||||
pub pbs_repository: String,
|
||||
pub namespace: Option<String>,
|
||||
pub backup_id: String,
|
||||
pub backup_time: i64,
|
||||
pub pbs_password: String,
|
||||
pub keyfile: Option<String>,
|
||||
pub key_password: Option<String>,
|
||||
@ -60,8 +61,7 @@ fn create_pbs_backup_task(args: BackupVmaToPbsArgs) -> Result<*mut ProxmoxBackup
|
||||
println!("compress: {}", args.compress);
|
||||
println!("encrypt: {}", args.encrypt);
|
||||
|
||||
let backup_time = epoch_i64();
|
||||
println!("backup time: {}", epoch_to_rfc3339(backup_time)?);
|
||||
println!("backup time: {}", epoch_to_rfc3339(args.backup_time)?);
|
||||
|
||||
let mut pbs_err: *mut c_char = ptr::null_mut();
|
||||
|
||||
@ -83,7 +83,7 @@ fn create_pbs_backup_task(args: BackupVmaToPbsArgs) -> Result<*mut ProxmoxBackup
|
||||
pbs_repository_cstr.as_ptr(),
|
||||
ns_cstr.as_ptr(),
|
||||
backup_id_cstr.as_ptr(),
|
||||
backup_time as u64,
|
||||
args.backup_time as u64,
|
||||
PROXMOX_BACKUP_DEFAULT_CHUNK_SIZE,
|
||||
pbs_password_cstr.as_ptr(),
|
||||
keyfile_ptr,
|
||||
|
Loading…
Reference in New Issue
Block a user