logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 23-10-2018 21:37:16

cemoi
Membre
Distrib. : Debian 10 Buster et une SID
Noyau : Linux 4.19.0-9-amd64
(G)UI : XFCE
Inscription : 21-10-2008

[ok] option --delete de rsync avec options de filtrage

Bonsoir,

j'ai besoin de construire et de maintenir à jour une arborescence de fichiers cours. Je me sers de rsync en local. L'idée étant de reproduire sur le répertoire de réception que certains fichiers à travers un filtrage dans la commande rsync.
Mon problème étant que dans ma commande l'option --delete qui devrai supprimer dans la destination ce qui ne se trouve plus dans la source ... du coup ça cumule des fichiers/répertoires dans la destination qui ne devraient plus être là hmm

Ma commande:

rsync -a --stats --progress --delete --include '*/' --include '*eleve*.*' --include '*sujet_exercice*.pdf' --include '*sujet_exam*.pdf' --exclude 'Plans' --exclude '*' --prune-empty-dirs  /home/cemoi/ownCloud/SFTP/bac_pro_tma/progression_en_service/progression/  /home/cemoi/tests_rsync__cours_eleve/


building file list ...
496 files to consider
cannot delete non-empty directory: dossiers_techniques/chantiers/Amenagement_salle-tma/plans/plans_bureau
cannot delete non-empty directory: dossiers_techniques/chantiers/Amenagement_salle-tma/plans/plans_bureau
cannot delete non-empty directory: dossiers_techniques/chantiers/Amenagement_salle-tma/plans

Number of files: 496 (reg: 255, dir: 241)
Number of created files: 0
Number of deleted files: 0
Number of regular files transferred: 0
Total file size: 54,905,844 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.010 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 19,324
Total bytes received: 336

sent 19,324 bytes  received 336 bytes  39,320.00 bytes/sec
total size is 54,905,844  speedup is 2,792.77
 



Je précise que là il y a déja eu une synchronisation avant avec la même commande.

J'ai l'impression que ma commande permet de supprimer les fichiers mais pas les répertoires... -_-"
Bien sur faire cela manuellement relève juste de la mission impossible ...

Quand je me serai dépatouiller de ce détail je ferai lancer la commande via un cron et roule.

Merci pour votre aide!

Dernière modification par cemoi (25-10-2018 18:24:37)


Linux debDesk Linux 4.19.0-9-amd64

Hors ligne

#2 23-10-2018 22:28:20

empanada
Membre
Distrib. : Debian 11 (Bullseye)
Noyau : 5.10.0-13-amd64
(G)UI : LXDE
Inscription : 19-09-2018

Re : [ok] option --delete de rsync avec options de filtrage

cemoi a écrit :


cannot delete non-empty directory: dossiers_techniques/chantiers/Amenagement_salle-tma/plans/plans_bureau
cannot delete non-empty directory: dossiers_techniques/chantiers/Amenagement_salle-tma/plans/plans_bureau
cannot delete non-empty directory: dossiers_techniques/chantiers/Amenagement_salle-tma/plans



Je n'ais jamais utilisé rsync, mais avec les messages plus haut et après jeter un coup d'oeil sur

man rsync


je vois que peut-être ajouter "--delete-excluded" (also delete excluded files from dest dir) et/ou "--force" (force deletion of dirs even if not empty) pourraient fonctionner.
Évidement tester avec "--dry-run" (perform a trial run with no changes made)


"blues are the roots and the other musics are the fruits" . Willie Dixon

Hors ligne

#3 24-10-2018 19:33:27

cemoi
Membre
Distrib. : Debian 10 Buster et une SID
Noyau : Linux 4.19.0-9-amd64
(G)UI : XFCE
Inscription : 21-10-2008

Re : [ok] option --delete de rsync avec options de filtrage

hello,
effectivement avec --delete-excluded en plus ça supprime les répertoires. Mais c'est curieux qu'ils ne soient pas vide... dans la logique il devrait l'être avant d'être supprimé hmm

donc oui ça supprime bien les répertoires qui ne sont pourtant pas vide mais qui devrai en toute logique l'être kernal_panic.gif

faut que je creuse tout ça...

Merci pour ton aide  smile

Linux debDesk Linux 4.19.0-9-amd64

Hors ligne

#4 24-10-2018 19:49:19

lagrenouille
CA Debian-Facile
Lieu : Toulouse
Distrib. : bookworm
Noyau : d'olive
(G)UI : xfce4 et awesome
Inscription : 28-03-2012
Site Web

Re : [ok] option --delete de rsync avec options de filtrage

salut cemoi
tu veux faire quoi exactement...

renouveler des fichiers avec les mêmes noms, mais pas le même contenu ? les effacer et  mettre les nouveaux ?

j'ai pas compris ce que tu veux faire

la commande --exclude fonctionne avec des fichiers textes qui filtrent les exclusions et les fichiers à transferer

rsync -avz  --exclude-from=/home/machin/public/dossier-escalier/machin.txt  /home/momo/chantiers/plans/  /home/lagrenouille/mes_travaux/dossier-escalier/chantiers/plans

j'envoie les nouveaux dossiers escaliers de momo vers ceux de la grenouille en excluant ceux qui sont pas commentés dans le fichier texte  car les fichiers non précédés par   # ne seront pas envoyés
normalement ça écrase l'ancien fichier et ça mets le nouveau

pppfffff, je sais pas si c'est bien écrit

Dernière modification par lagrenouille (24-10-2018 20:05:28)


Ce à quoi l'on a pas accès par l'expérience vécue, on a pas d'oreilles pour l'entendre ..Nietzsche
Cela dit, bien que toute notre connaissance s’amorce avec l’expérience, il n’en résulte pas pour autant qu’elle découle dans sa totalité de l’expérience.  E.Kant
une compréhension insane est elle forcément irrationnel ? ..lagrenouille

Hors ligne

#5 24-10-2018 20:04:55

cemoi
Membre
Distrib. : Debian 10 Buster et une SID
Noyau : Linux 4.19.0-9-amd64
(G)UI : XFCE
Inscription : 21-10-2008

Re : [ok] option --delete de rsync avec options de filtrage

Heloooooo,
la commande avec --delete-excluded en plus parait bonne pour ce que je veux c’est déjà un bon point mais je ne comprend pas certains détails comme la suppression de répertoires qui ne sont pas vide... dans la logique les fichiers qui sont dedans devrait être supprimé du coup si le répertoire est vide alors il doit être supprimé.

Ce que fait la commande;

elle va synchroniser certains fichiers, construire une arborescence identique à celle de la source et bien sur replacer tous les fichiers dans les bons répertoires.

Si t'as une arborescence avec des *.odt et autres ça ne synchronisera que les pdf avec le mot eleve dedans par exemple. Du coup ça construit et maintient à jours toute les progressions des cours+ exo+ autres pour les étudiants à partir de mon arborescence sur laquelle je fais les cours source qui peuvent être améliorer ou supprimer ou créer.
Ca fait la synchro dans un répertoire partagé via nextcloud et la boucle est bouclée.

Là on est une petite dizaine de prof à tafer sur des bac pro de 3ans (donc sur une progression de 3ans de cours+td, tp, plans et tout le reste...) + d'autres bac pro (technicien constructeurs bois/ menuisier installateur) du coup ça fait un joli casse tête si tu veux pouvoir tenir le dépôt à destination des élèves...

La seule vrai solution c'est de bien nommer les fichiers et à partir de là on peu faire un coup de rsync avec filtrage par mots+formats qui fera le taf au top wink

Le seul truc que je ne comprend pas c'est pour quoi il supprime des répertoires qui ne sont pas vide... mais je vais trouver !!

Linux debDesk Linux 4.19.0-9-amd64

Hors ligne

#6 24-10-2018 23:10:12

empanada
Membre
Distrib. : Debian 11 (Bullseye)
Noyau : 5.10.0-13-amd64
(G)UI : LXDE
Inscription : 19-09-2018

Re : [ok] option --delete de rsync avec options de filtrage

cemoi a écrit :


Le seul truc que je ne comprend pas c'est pour quoi il supprime des répertoires qui ne sont pas vide... mais je vais trouver !!


Bon, je crois qu'avec  --delete-excluded rsync ne supprime pas des répertoires non vides, mais il vide les répertoires et après il les supprime.
Le message c'était avec seulement "--delete", et pas avec "--delete" + "--delete-excluded".

cemoi a écrit :

effectivement avec --delete-excluded en plus ça supprime les répertoires. Mais c'est curieux qu'ils ne soient pas vide... dans la logique il devrait l'être avant d'être supprimé hmm
donc oui ça supprime bien les répertoires qui ne sont pourtant pas vide mais qui devrai en toute logique l'être kernal_panic.gif



il te reste un tout petit pas: modifier le titre du sujet pour indiquer RÉSOLU (RÉSOLU)


"blues are the roots and the other musics are the fruits" . Willie Dixon

Hors ligne

Pied de page des forums