У меня очень старый сервер, на котором хранится 16 ТБ данных. Он работает под управлением FreeNAS (freebsd). Сетевые карты физически повреждены, и сервер находится на последнем издыхании.
У меня 2 внешних жестких диска NTFS по 8 ТБ. Я пытаюсь скопировать все эти файлы на hdd1, а все, что не поместится, на hdd2. Жесткие диски монтируются в / mnt / hdd1 и / mnt / hdd2
У меня как раз достаточно места и невероятно сложная файловая структура. Я не могу просто скопировать пару папок в одну, а все остальное на другом диске. Для этого мне понадобится какой-нибудь сценарий. Какие-либо предложения?
Опять же, это просто freebsd без пользовательского интерфейса.
Попробуйте следующее:
cd /path/to/data
rsync --recursive --relative . /mnt/hd1 || (
find . | sort > /tmp/source.lst
cd /mnt/hd1
find . | sort > /tmp/hd1.lst
diff -ab /tmp/source.lst /tmp/hd1.lst | tail -n +4 | grep -v ^- > /tmp/copied.lst
cd /path/to/data
rsync --recursive --relative --exclude-from=/tmp/copied.lst . /mnt/hd2
)
Если установка rsync
не является вариантом, вы можете проделать некоторые трюки со списками файлы и копирование по одному с использованием , а
и cp
.