# Rsync: \*cannot delete non-empty directory:\*

**URL:** <https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155>\
**Category:** Support Debian\
**Created:** [Avril 29, 2023, 4:43 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155 "2023-04-29T16:43:24Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Avril 29, 2023, 4:43 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155/1 "2023-04-29T16:43:24Z")

</div>

Bonjour,

mon script lance sous _root_ la commande _rsync_ suivante:

`sudo rsync -auAHXi --log-file=/home/ADMIN/ADMIN_clevo/BKP/log/23_04_29-184053.log --dry-run --delete --force --exclude-from=/usr/local/etc/exclude_rsync_clevo_sur_Samsung.txt / /media/laguilde/Samsung_2T_USB3`

Je ne comprends pas pourquoi _rsync_ refuse l’effacement de répertoires non-vides.

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Avril 29, 2023, 6:42 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155/2 "2023-04-29T18:42:51Z")

</div>

salut  
donnes-nous les messages  
mais dans un premier temps:  
–archive, -a archive mode is -rlptgoD ( **no -A,-X,-U,-N,-H** )

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Avril 30, 2023, 12:12 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155/3 "2023-04-30T12:12:16Z")

</div>

Bonjour, merci pour votre intérêt  
je n’ai pas réussi à reproduire ce comportement (sans rien modifier… je crois).  
Le message titre se répètait pour un certain nombre de répertoires (3800 !)

Que souhaitez vous me dire à propos de l’option -a ?

Ce comportement est contemporain du problème plus mystérieux, l’effacement du répertoire boot, qui a mis en panne mon système habituel de travail (Buster) :

> [@Erreur «/boot/vmlinuz-4.19.0-23-amd64» non disponible](https://www.debian-fr.org/t/erreur-boot-vmlinuz-4-19-0-23-amd64-non-disponible/88154):
>
> [Buster] Bonjour, comment ce noyau a-t-il disparu, je ne sais pas vraiment: j’ai simplement relancé la commande de mate «Redémarrer», en raison d’un affichage bizarre de 3 bureaux virtuels sur les 9 existants. Mais l’ordinateur ne s’est jamais arrété vraiment, écran noir sans affichage habituel de fermeture. Je repasse sous Jessie pour ce post, et là la plupart des configurations (tout le contenu des 2 tableaux de bord, spécifiques à jessie) a disparu. Je crains une usure du disque SSD qui s…

PS  
en relisant la doc de _rsync_, j’ai pu voir que l’option _–force_ est sans effet sur _–delete_  
Je suppose qu’il faut écrire des règles d’exclusion…

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Avril 30, 2023, 6:46 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155/4 "2023-04-30T18:46:59Z")

</div>

> [@dindoun](#):
>
> archive, -a archive mode is -rlptgoD ( **no -A,-X,-U,-N,-H** )

-a interdit AXUNH donc ta commande `rsync -auAHXi` est en fait `rsync -au`  
et a = rlptgoD

donc ta commande `rsync -auAHXi` est en fait `rsync -urlptgoD`  
soit

```auto
       --update, -u skip files that are newer on the receiver
       --recursive, -r recurse into directories
       --links, -l copy symlinks as symlinks
       --perms, -p preserve permissions
       --times, -t preserve modification times
       --group, -g preserve group
       --owner, -o preserve owner (super-user only)
       --devices preserve device files (super-user only)
       --specials preserve special files

```

et si tu mets  
–dry-run, -n perform a trial run with no changes made  
aucun changement n’est fait

PS ( les infos viennent du man )

mais il faut que tu nous montrer le message qui dit que le dossier refuse d’être détruit, avec le contenu et les priorités.

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Mai 1, 2023, 1:43 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155/5 "2023-05-01T13:43:38Z")

</div>

> [@dindoun](#):
>
> -a interdit AXUNH

Merci de vous intéresser à mon problème,

Je n’ai pas compris que _rsync -a_ interdisait ces autres options, mais seulement qu’elle ne les incluait pas, contrairement aux option _rlptgoD_ dont elle serait un simple raccourci  
( archive mode **is** -rlptgoD [is] not -A,-X,-U,-N,-H ).

J’utilise très habituellement cet ensemble d’options, et je ne crois pas qu’elles aient été mangées, mais je ne suis évidemment pas sur.

PS  
J’utilise fréquemment _setfattr_ (dans un script), et je viens de vérifier que ces attributs sont biens sauvegardés sur une sauvegarde rsync précédente. Ce qui me laisse penser que mon interprétation serais la bonne.

EDIT  
le script réalise essentiellement la commande suivante:  
setfattr -n user.comment -v «&nbsp;$commentaire&nbsp;» «&nbsp;$fichier&nbsp;»  
pour éditer un commentaire pour un fichier

et lu avec un autre script qui utilise:  
getfattr -Rn ‹&nbsp;user.comment&nbsp;› «&nbsp;$fichier&nbsp;»

quand j’ai créé ces scripts, je les ai publié ici:  
[https://www.joseph-tux.fr/Commenter-ses-fichiers-en-ligne-de-commande?lang=fr](https://www.joseph-tux.fr/Commenter-ses-fichiers-en-ligne-de-commande?lang=fr)  
mais ils ont certainement été modifiés plusieurs fois depuis. Ça fait si longtemps…  
pour lister tous les fichiers avec leurs commentaires.

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Mai 2, 2023, 10:55 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155/6 "2023-05-02T10:55:42Z")

</div>

tu as peut être raison j’ai parlé un peu vite, je vérifie

…un peu plus tard…

j’ai fait plein de tests avec et sans -H mais je ne vois pas de différence 🙂

je sais juste que pour grsync en français, -H s’appelle **copier les liens physiques tels quels**

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Mai 2, 2023, 11:49 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155/7 "2023-05-02T11:49:04Z")

</div>

À première vue, mes liens physiques sont bien archivés tels quels (avec -aH)

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Mai 2, 2023, 11:51 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155/8 "2023-05-02T11:51:33Z")

</div>

> [@dindoun](#):
>
> il faut que tu nous montrer le message qui dit que le dossier refuse d’être détruit, avec le contenu et les priorités.

Le message complet est dans le titre de ce fil, répété un grand nombre de fois

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Mai 2, 2023, 2:11 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155/9 "2023-05-02T14:11:41Z")

</div>

Les dossiers/fichiers ne seraient pas encours d’utilisation par un process ? un lsof sur un répertoire/file devraient t’indiquer si c’est le cas.

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Mai 2, 2023, 6:18 UTC](https://www.debian-fr.org/t/rsync-cannot-delete-non-empty-directory/88155/10 "2023-05-02T18:18:07Z")

</div>

Merci Clochette  
OK, je testerai cette proposition si je retrouve ce comportement. C’est une possibilité.
