Существует ли лучший путь, чем CP для копирования миллионов файлов при сохранении жестких ссылок?

Самая очевидная ошибка, которую я вижу, состоит в том, что Вы не защищаете i переменная цикла. Таким образом, когда Вы пишете $i_trip_point, оболочка ищет названную переменную i_trip_point, который не установлен так, Вы получаете второй тип ошибки, как это, например:

cat: /sys/class/thermal/thermal_zone2/trip_point__temp: No such file or directory

Два символа нижнего подчеркивания между point и temp который отмечает пустую интерполируемую переменную. Необходимо использовать синтаксис ${i}_trip_point. Фигурные скобки защищают Вашу переменную от смежных символов, интерпретируемых как часть имени переменной.

5
12.09.2014, 12:26
2 ответа

Помню, что в результате rsync у меня возникли некоторые проблемы; я не уверен, были ли это жесткие ссылки, файлы устройств или что-то в этом роде. С тех пор я использую

tar -cv $(ls) | ( cd /mnt; tar xv )

, которая копирует все файлы из . в /mnt. Вся моя история находится здесь: http://www.linuxintro.org/wiki/Cloning#file-by-file_copy_2

0
27.01.2020, 20:43

Если решения tar или rsync не работают, и если каталог является корнем файловой системы, вы можете использовать старые утилиты резервного копирования dump / restore (да что еще работает).

dump дублирует характеристики файловой системы без прохождения через интерфейс файловой системы ядра, так что это довольно быстро.

Неудобство в том, что дамп чувствителен к изменениям, сделанным в исходной файловой системе во время копирования. Так что лучше размонтируйте файловую систему или перемонтируйте ее только для чтения, или остановите любое приложение, которое может получить к ней доступ, прежде чем запускать копию. Если вы соблюдаете это условие, копия будет надежной.

В зависимости от типа файловой системы имя команды dump может изменяться, например, у вас может быть xfsdump для XFS.

Следующая команда аналогична примеру tar :

dump 0uf - /dev/sdaX  | (cd /target && restore rf -)

Число - это уровень инкрементного копирования; 0 указывает на выполнение полного копирования.

1
27.01.2020, 20:43

Теги

Похожие вопросы