Я использую rsync (1) для обновления локального репозитория Debian. Недавно на диске, который я использую для хранения, стало мало места, поэтому я решил использовать символические ссылки, чтобы позволить мне переместить некоторые каталоги на другой аналогичный по размеру диск.
К сожалению, кажется, что rsync удаляет символические ссылки и заполняет почти полный диск. После некоторых поисков я обнаружил --keep-dirlinks
опцию rsync, которая кажется специально разработанной для решения моей проблемы.
Только это не так. Сим-ссылки на цель все еще удаляются.
Вот моя команда rsync:
rsync --recursive --keep-dirlinks --links --hard-links --times --verbose \
--delete --delete-excluded $EXCLUDE $SOURCE_EXCLUDE \
$RSYNC_HOST::$RSYNC_DIR/pool/ $TO/pool/
ИСКЛЮЧЕНИЯ расширяются, чтобы исключить большое количество архитектур, которые меня не интересуют, по типу --exclude binary-alpha/ --exclude disks-alpha ...
. Перед запуском rsync мой каталог пула выглядит так:
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
Как только включается rsync, я получаю это:
receiving incremental file list
deleting non-free
deleting contrib
./
contrib/
contrib/a/
И так далее, и символические ссылки заменяются каталогами, полными файлов.
Могут ли помешать некоторые другие опции rsync --keep-dirlinks
? Какие из них я не могу объединить? Или это порядок опций, который вызывает мою проблему?