Rsync fails with "failed to set times ... operation not permitted"

Hi all,

I am in the process of replacing my venerable HP Microserver N54L with a Ugreen 6800 Pro and running into a problem with rsync. Installation of Truenas Dragonfish-24.04.1.1 went all good, the old NAS is still running on TrueNAS-SCALE-22.12.0. I was transferring all my media data over to the new NAS with rsync over ssh but have run into an issue that I don’t quite understand. Hope someone here can help me. (If the question comes up I am not using replication because I didn’t set up my dataset in a good way 10 years ago and now the data is in a folder in a dataset with other folders and datasets)

For the rsync process I exchanged the keys between the NASes and simply set others to have write and execute rights to allow the source NAS to write to the target NAS. See screenshot here:

The process worked fine for a few days transferring the data but now toward the finalisation of the transfer the process stopped. When I try to restart it I get the following error:

rsync: [generator] failed to set times on "/mnt/hdd-pool/media/.": Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1333) [sender=3.2.3]

It sounds like it’s a rights issue? But I thought by setting the rights very broadly now it should be fine. I did set the times to be preserved in the rsync settings.

Would be great if someone has some advice on how I can finish this transfer!

Thanks!

The Rsync command and parameters you used?

I used the rsync ui in the data protection tab. Here the settings.


Does the user “admin” on the destination server have write permissions for the root path /mnt/hdd-pool/media ?

EDIT: I just saw it now. My memory is fuzzy, but I’m not sure that simply allowing “other” write access will suffice with rsync when using the “archive” option.

A few options for you:

  1. Change the ownership for the destination’s path (dataset) to the user “admin” or the group “admin” (if it exists as the default group for the user “admin”), and then give the group “admin” write permissions.

or

  1. Use ACL permissions to grant the user “admin” full write permissions, even though you still want “root” to be the owner.

or

  1. Have the user “root” run the destination rsync, instead of the user “admin” (probably not recommended for SCALE).

Thank you for the help. I tried first to set the ACL permissions so that admin has full write permissions but I got four error messages back at the same time…

Was a bit unsure about changing the owner but I did and it seems to be fine (on the destination device I only set up the admin user). I started the rsync task again and it went to succeeded so I guess it was just missing a tiny bit of data to change.

So it seems resolved, thank you for your help!