Estoy usando rsync (1) para mantener actualizado un repositorio local de Debian. Recientemente, el disco que estoy usando para almacenarlo comenzó a quedarse sin espacio, así que decidí usar enlaces simbólicos para permitirme mover algunos de los directorios a otro disco de tamaño similar.
Desafortunadamente, parece que rsync está eliminando los enlaces simbólicos y rellenando el disco casi lleno. Después de algunas búsquedas, descubrí la --keep-dirlinks
opción de rsync, que parece hecha a medida para solucionar mi problema.
Solo que no. Los enlaces simbólicos en el objetivo todavía se están eliminando.
Aquí está mi comando rsync:
rsync --recursive --keep-dirlinks --links --hard-links --times --verbose \
--delete --delete-excluded $EXCLUDE $SOURCE_EXCLUDE \
$RSYNC_HOST::$RSYNC_DIR/pool/ $TO/pool/
Los EXCLUDE se expanden para eliminar una gran cantidad de arquitecturas que no me interesan, en la línea de --exclude binary-alpha/ --exclude disks-alpha ...
. Antes de que se inicie rsync, el directorio de mi grupo se ve así:
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
Una vez que se inicia el rsync, obtengo esto:
receiving incremental file list
deleting non-free
deleting contrib
./
contrib/
contrib/a/
Y así sucesivamente, y los enlaces simbólicos se reemplazan con directorios llenos de archivos.
¿Están interfiriendo algunas de las otras opciones de rsync --keep-dirlinks
? ¿Cuáles no puedo combinar? ¿O es el orden de opciones lo que está causando mi problema?