[pve-devel] applied: [PATCH container] backup: log errors from rsync

Fabian Grünbichler f.gruenbichler at proxmox.com
Tue Jun 11 13:55:59 CEST 2024


thanks!

On May 6, 2024 2:40 pm, Fiona Ebner wrote:
> Commit 5582b0c ("vzdump: rsync: make less verbose") talks about making
> the output less verbose, but it likely did not intended to get rid of
> the error messages from rsync, but only the uninteresting messages to
> stdout.
> 
> The currently used log function is only matching the total
> transferred and ignores everything else. Split it into an output and
> error function and log all error messages from rsync.
> 
> Excerpt from the output with the patch:
> 
>> INFO: starting first sync /proc/55667/root/ to /mnt/tmp/vzdumptmp62235_113/
>> ERROR: rsync: [sender] send_files failed to open "/proc/55667/root/foo/file": Input/output error (5)
>> ERROR: rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1338) [sender=3.2.7]
>> ERROR: Backup of VM 113 failed - command 'rsync --stats -h -X -A --numeric-ids -aH --delete --no-whole-file --sparse --one-file-system --relative '--exclude=/tmp/?*' '--exclude=/var/tmp/?*' '--exclude=/var/run/?*.pid' /proc/55667/root//./ /proc/55667/root//./foo /mnt/tmp/vzdumptmp62235_113/' failed: exit code 23
>> INFO: Failed at 2024-05-06 14:21:58
>> INFO: Backup job finished with errors
> 
> Without the patch, the first two error messages with the root cause of
> the issue would not be shown, confusing users and leaving developers
> in the dark when trying to help.
> 
> Examples from the forum:
> https://forum.proxmox.com/threads/146415/post-660946
> https://forum.proxmox.com/threads/101810/
> https://forum.proxmox.com/threads/101560/
> https://forum.proxmox.com/threads/79572/post-352377
> 
> Fixes: 5582b0c ("vzdump: rsync: make less verbose")
> Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
> ---
>  src/PVE/VZDump/LXC.pm | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/PVE/VZDump/LXC.pm b/src/PVE/VZDump/LXC.pm
> index 8c28a5e..671f5f8 100644
> --- a/src/PVE/VZDump/LXC.pm
> +++ b/src/PVE/VZDump/LXC.pm
> @@ -52,13 +52,15 @@ my $rsync_vm = sub {
>      }
>  
>      my $transferred = '';
> -    my $logfunc = sub {
> +    my $outfunc = sub {
>  	return if $_[0] !~ /^Total transferred file size: (.+)$/;
>  	$transferred = $1;
>      };
>  
> +    my $errfunc = sub { $self->logerr($_[0]); };
> +
>      my $starttime = time();
> -    PVE::Tools::run_command([@$rsync, $to], logfunc => $logfunc);
> +    PVE::Tools::run_command([@$rsync, $to], outfunc => $outfunc, errfunc => $errfunc);
>      my $delay = time () - $starttime;
>  
>      $self->loginfo ("$text sync finished - transferred $transferred in ${delay}s");
> -- 
> 2.39.2
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 




More information about the pve-devel mailing list