Каковы правильные флаги для rsync для локально установленной корзины S3? - PullRequest
0 голосов
/ 09 июля 2019

У меня есть ведро 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.

...