From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 0D84A1FF15C for ; Wed, 13 Nov 2024 16:58:10 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 44FBA1A183; Wed, 13 Nov 2024 16:58:11 +0100 (CET) From: Filip Schauer To: pbs-devel@lists.proxmox.com Date: Wed, 13 Nov 2024 16:57:58 +0100 Message-Id: <20241113155802.190824-1-f.schauer@proxmox.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.031 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] [PATCH vma-to-pbs v6 0/4] add support for bulk import of a dump directory X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" When a path to a directory is provided in the vma_file argument, try to upload all VMA backups in the directory. This also handles compressed VMA files, notes and logs. If a vmid is specified with --vmid, only the backups of that particular vmid are uploaded. Also improve the readability of the log messages to keep track of all imported backups. Changed since v5: * Extend the help text by seperate usages for single VMA import and bulk import * Move variables into format strings where possible Changed since v4: * Switch grouped_vmas from Vec> to HashMap> * Remove dependency on itertools * bail when no backups were found * Default to yes on the bulk import confirmation prompt * bail on invalid input to the bulk import confirmation prompt Changed since v3: * Mention in the description of the --vmid argument, that it is required if a single VMA file is provided * Construct grouped_vmas in place * Add debug logs when gathering files for bulk import * Log a summary of the files gathered for bulk import * Remove the "confusing VMA file path" error message in the second commit * Switch chunk_stats from Arc> to Arc<[AtomicU64; 256]> and use fetch_add to atomically increment and fetch the chunk stat * Ask for confirmation before bulk import * Add --yes option to skip the confirmation prompt Changed since v2: * Make skipping a VMID on error optional with the --skip-failed option * Switch log output from stderr to stdout * Bump itertools to 0.13 Changed since v1: * Do not recurse through dump directory * Compile regex once before iterating over the files in the dump directory * Use extract on regex capture groups * Do not use deprecated method `chrono::NaiveDateTime::timestamp` * Use proxmox_sys::fs::file_read_optional_string * Group VMA files by VMID and continue with next VMID on error * Move the BackupVmaToPbsArgs split into its own commit * Remove hard coded occurences of 255 * Use level-based logging instead of println Filip Schauer (4): add support for bulk import of a dump directory add option to skip vmids whose backups failed to upload use level-based logging instead of println log device upload progress as a percentage Cargo.toml | 4 + src/main.rs | 198 +++++++++++++++++++++++++++++++++++++++++++++---- src/vma2pbs.rs | 108 +++++++++++++++++++++------ 3 files changed, 271 insertions(+), 39 deletions(-) -- 2.39.5 _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel