J'utilise rsync (1) pour maintenir à jour un dépôt Debian local. Récemment, le disque que j'utilise pour le stocker a commencé à manquer d'espace, j'ai donc décidé d'utiliser des liens symboliques pour me permettre de déplacer certains des répertoires vers un autre disque de taille similaire.
Malheureusement, il semble que rsync supprime les liens symboliques et remplisse le disque presque plein. Après quelques recherches, j'ai découvert l' --keep-dirlinks
option de rsync, qui semble sur mesure pour résoudre mon problème.
Mais ce n'est pas le cas. Les liens symboliques sur la cible sont toujours supprimés.
Voici ma commande rsync:
rsync --recursive --keep-dirlinks --links --hard-links --times --verbose \
--delete --delete-excluded $EXCLUDE $SOURCE_EXCLUDE \
$RSYNC_HOST::$RSYNC_DIR/pool/ $TO/pool/
Les EXCLUDE s'étendent pour éliminer un grand nombre d'architectures qui ne m'intéressent pas, dans le sens de --exclude binary-alpha/ --exclude disks-alpha ...
. Avant le lancement de rsync, mon répertoire de pool ressemble à ceci:
lrwxrwxrwx 1 root root 23 2014-09-22 13:58 contrib -> /u2/debian/pool/contrib
drwxrwxr-x 62 root root 4096 2012-04-09 03:02 main
lrwxrwxrwx 1 root root 24 2014-09-22 13:58 non-free -> /u2/debian/pool/non-free
Une fois que le rsync entre en action, j'obtiens ceci:
receiving incremental file list
deleting non-free
deleting contrib
./
contrib/
contrib/a/
Et ainsi de suite, et les liens symboliques sont remplacés par des répertoires remplis de fichiers.
Certaines des autres options de rsync interfèrent-elles --keep-dirlinks
? Lesquels ne puis-je pas combiner? Ou est-ce l'ordre des options qui cause mon problème?