Rsync syntax weirdness w/ Fedora 32

I’ve been using rsync via a cron job to backup up data from box to box, and from box to external. My bash scripts have been running fine until I upgraded from a Debian-based distro to Fedora 32. One old box is still on the other distro. I am now having trouble with a remote pull. I thought I had sorted it out by running it manually; it worked via cron fine for one night. It then stopped working with a syntax error. I finally went to the other box and ran it as a rsync push and it worked. The only changes were swapping source and destination. Fedora 32 is running rsync 3.2.2 protocol 31, while the other distro is on 3.1.3 protocol 31.
The pertinent parts of the script for the push that succeeds with no errors: sudo rsync -ahv --delete --stats -e ‘sshpass -p “userpassword” ssh’ --exclude={’.tmp’,’.cache’} ./ username@2ndserver:/shares/target
The pull script that errors out is: sudo rsync -ahv delete --stats -e ‘sshpass -p “userpassword” ssh’ --exclude={’
.tmp’,’.cache’} username@2ndserver:/home/target /shares
The error is:
"Unexpected remote arg: username@1stserver:/home/target /shares
rsync error: syntax or usage error (code 1) at main.c(1446) [sender=3.2.2]
I did not change the remote rsync script after upgrading to Fedora.
ssh works fine, save that rysnc doesn’t pick up the pki certs. But that is probably because this is running as sudo.
I am totally baffled by why I’m now getting a syntax error. I have not found anything in the two versions man pages that points to a problem in the syntax. Anyone a rsync expert that can help?

1 Like
rsync -ahv --delete

Better replace that with key-based authentication.

2 Likes