Переместить каталоги ежедневного резервного копирования (созданного rsync) в другой каталог в том же разделе.

Переместить каталоги ежедневного резервного копирования (созданного rsync) в другой каталог в том же разделе.

У меня есть ежедневный скрипт rsync, который создает резервные копии моих данных на внешнем жестком диске в /mnt/X(корневой каталог жесткого диска). Я использую --link-destжесткие ссылки и избегаю дублирования данных. Мне нужно переместить все мои ежедневные резервные копии из /mnt/Xв /mnt/X/backupsбез потери жестких ссылок. Позже мне нужно будет изменить скрипт для резервного копирования в новом каталоге назначения, который находится /mnt/X/backupsи искать резервную копию предыдущего дня в том же каталоге.

Как бы вы мне посоветовали осуществить переезд?

решение1

Вам не нужно делать ничего особенного. Просто,

mv /mnt/X/* to /mnt/X/backups/

(Вы получите сообщение об ошибке, что невозможно перейти backupsк самому себе).

Жесткая ссылка — это, по сути, номер инода. Файлы, которые жестко связаны, имеют одинаковый номер инода. Как бы вы их ни перемещали в пределах одной файловой системы, номер инода не меняется. Поэтому никаких специальных действий не требуется.

Попробуйте сами сначала с несколькими простыми файлами /tmp:

/tmp $ mkdir aa
/tmp $ touch aa/f
/tmp $ ln aa/f aa/g
/tmp $ mkdir aa/new
/tmp $ mv aa/* aa/new
mv: cannot move 'aa/new' to a subdirectory of itself, 'aa/new/new'
/tmp $ ls -il aa/new/
13185910 -rw-r--r-- 2  0 Apr 11 13:32 f
13185910 -rw-r--r-- 2  0 Apr 11 13:32 g

Связанный контент