У меня есть ведро S3, установленное локально в /mnt/s3
с использованием s3fs
.
Я могу вручную cp -r /my-dir/. /mnt/s3
, и файл testfile.txt
в /mnt/s3
будет перезаписан, как и ожидалось, без ошибок.
Однако при использовании rsync
я получаю ошибки об отмене связи и копировании, если файл уже существует в корзине. (Если файл с таким именем не существует в корзине, он копируется правильно, без ошибок.)
$ rsync -vr --temp-dir=/tmp/rsync /my-dir/. /mnt/s3
sending incremental file list
testfile.txt
rsync: unlink "/mnt/s3/testfile.txt": Operation not permitted (1)
rsync: copy "/tmp/rsync/testfile.txt.Kkyy5n" -> "testfile.txt": Operation not permitted (1)
sent 274 bytes received 428 bytes 1,404.00 bytes/sec
total size is 95 speedup is 0.14
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]
Я использую --temp-dir
, потому что в противном случае rsync
копировал временные файлы в /mnt/s3
и пытался переименовать их в их постоянные имена. Однако rsync
не удалось переименовать их, а также не удалось удалить временные файлы, что привело к неправильно скопированным файлам и большому количеству помех в корзине S3.