Je me suis toujours demandé pourquoi rsync
essayait de transférer un fichier vers un emplacement distant où il avait des autorisations de lecture / exécution pour le répertoire cible, mais aucune autorisation d' écriture pour créer le fichier de destination réel. Cela peut être simulé même localement lorsque vous essayez de copier un fichier en tant qu'utilisateur normal vers / , rsync
transférera le fichier entier (prenant également assez de temps pour les fichiers volumineux) et échoue finalement avec
rsync: mkstemp "/.myTargetFile" failed: Permission denied (13)
Il semble donc déjà échouer au démarrage lors de la tentative de création du fichier temporaire (le fichier de points ) lors du transfert. Pourquoi ne le remarque-t-il pas et abandonne-t-il tôt au lieu d'essayer de copier le fichier entier sans avoir aucune autorisation d'écriture?
Et où copie-t-il le fichier s'il ne peut pas créer le fichier temporaire? Je ne vois aucune augmentation de mémoire des processus rsync et aucun fichier correspondant dans / tmp . On dirait qu'il rejette directement les données à destination mais continue toujours le transfert.
--inplace
il transfère tout le fichier jusqu'à ce qu'il remarque le manque d'autorisations d'écriture.