====== Скрипт переноса системы на другой физический диск ====== **Задача**: есть установленная и настроенная система на одном из дисков. Нужно ее скопировать со старого диска на новый диск с целями резервного копирования, или же подмены старого диска новым. Этапы: **1.** грузимся в однопользовательский режим либо же с Rescue-диска (например, Frenzy). В однопользовательском режиме не забываем: fsck -p mount -u / mount -a swapon -a adjkerntz -i **2.** размечаем и создаем файловые системы на диске назначения **3.** для каждой исходной файловой системы создаем папку, куда будем монтировать соответствующую файловую систему диска назначения и монтируем файловые системы диска назначения: mkdir /backup mkdir /backup/root mkdir /backup/usr mkdir /backup/var mount /dev/ad1s1a /backup/root mount /dev/ad1s1e /backup/var mount /dev/ad1s1f /backup/usr **4.** Все готово, чтобы сделать перенос: ( dump -0f - / ) | ( cd /backup/root ; restore -rf - ) ( dump -0f - /var ) | ( cd /backup/var ; restore -rf - ) ( dump -0f - /usr ) | ( cd /backup/usr ; restore -rf - ) umount /backup/root umount /backup/var umount /backup/usr tunefs -n enable /dev/ad1s1a tunefs -n enable /dev/ad1s1e tunefs -n enable /dev/ad1s1f Заталкиваем это все в скрипт sh, если нужно. Некоторые замечания. - Во-первых, dump позволяет делать дамп с работающей системы, для этого используется ключ -L - Во-вторых, не обязательно монтировать исходную файловую систему, можно делать дамп прямо с устройства, к примеру: dump -C16 -0af - /dev/ad2s1a | ( cd /mnt; restore -rf - ) где - С16 - размер блока в 16Мб - /mnt точка монтирования файловой системы на диске назначения. TAG: {{tag> sysadmin FreeBSD backup shell_scripting }} ~~DISCUSSION~~