Я всегда задавался вопросом, почему rsync
пытается передать файл в удаленное местоположение, где у него есть разрешения на чтение / выполнение для целевого каталога, но нет прав на запись для создания фактического файла назначения. Это может быть смоделировано даже локально, когда вы пытаетесь скопировать файл как обычный пользователь в / , rsync
передаст весь файл (также довольно долго для больших файлов) и, наконец, завершится неудачно с
rsync: mkstemp "/.myTargetFile" failed: Permission denied (13)
Таким образом, кажется, что он уже не работает при запуске при попытке создать временный файл ( точка- файл ) во время передачи. Почему он не замечает этого и прерывает работу раньше, вместо того, чтобы пытаться скопировать весь файл без каких-либо разрешений на запись?
И куда он копирует файл, если не может создать временный файл? Я не вижу увеличения памяти процессов rsync, а также нет соответствующего файла в / tmp . Похоже, что он напрямую отбрасывает данные в месте назначения, но продолжает передачу.
--inplace
этом передает весь файл, пока не заметит отсутствие разрешений на запись.