Bonjour,

Quand je fais rsync -options chemin_src chemin_dst, tout va bien sauf qu'à la fin je me retrouve avec le dossier chemin_src (et son contenu) dans chemin_dst, or j'aurais préféré avoir le contenu de chemin_src dans chemin_dst (ce qui générerait deux dossiers strictement identiques mis à part le nom racine).

La combine que j'ai trouvée pour m'en sortir se résume à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
olddir=$(pwd)
cd chemin_src
rsync -options . chemin_dst
cd $olddir
C'est pas mal, ça fonctionne, sauf que je ne vous ai pas tout dit : chemin_src et chemin_dst sont en fait des points de montage pour des fichiers de disques virtuels, montés avec force vérifications et contrôles par vdfuse et mount -o loop, et démontés avec umount après le backup.

Et donc,
  • si j'utilise rsync -options chemin_src chemin_dst ça fonctionne tip-top (mis à part src dans dst comme expliqué ci-dessus) ;
  • si j'utilise les 4 lignes de la combine le démontage échoue en erreur comme quoi chemin_src est en cours d'utilisation.


fuser chemin_src me dit1 que c'est mon script qui le tient, alors j'ai déporté les 4 lignes de la combine dans un second_script.sh, et là c'est lui qui est remonté par fuser alors qu'il est bien terminé.

Qu'est-ce qui cloche avec cd chemin pour que "chemin" soit encore tenu après que cd autre_chemin, appelé ensuite, ait bien fonctionné ?

---
1 : quand il le dit (un seul script), car ce n'est pas toujours le cas (utilisation du second script) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  # le drame c'est que des fois fuser ne voit rien quand mount voit : 
  ## mount
  #/data/nobackup/fic_source.vdi on /mnt/vhd-vdi/mountpointsrc type fuse.vdfuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
  #/mnt/vhd-vdi/mountpointsrc/Partition1 on /mnt/vdisksrc/Partition1 type ext4 (rw,relatime,data=ordered)
 
  #2 lignes :
  #- celle du haut
  ## fuser /mnt/vhd-vdi/mountpointsrc --> rien
  ## fuser /data/nobackup/fic_source.vdi   --> /data/nobackup/fic_source.vdi:  7332
 
  #- celle du bas 
  ## fuser /mnt/vdisksrc/Partition1   --> rien mais le umount ne peut pas la démonter
  ## fuser /mnt/vhd-vdi/mountpointsrc/Partition1 --> rien
 
  # quant au kill de fuser... euh...
  ## fuser -k /data/nobackup/fic_source.vdi 
  #/data/nobackup/fic_source.vdi:  7332
  ## fuser /data/nobackup/fic_source.vdi --> sans le -k = ligne vide donc c'est fait...
  ## mount ... à moitié : les 2 lignes sont toujours là, celle du bas a un peu changé
  #/data/nobackup/fic_source.vdi on /mnt/vhd-vdi/mountpointsrc type fuse.vdfuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
  #/dev/loop0 on /mnt/vdisksrc/Partition1 type ext4 (rw,relatime,data=ordered)
 
  # et le kill l'a mise en vrac :
  ## ls -Al
  #ls: impossible d'accéder à mountpointsrc: Noeud final de transport n'est pas connecté
  #drwxr-xr-x 2 root root 4096 oct.  14 11:00 mountpointdst
  #d????????? ? ?    ?       ?              ? mountpointsrc