Я пытаюсь создать простую систему резервного копирования с использованием самых основных инструментов, доступных в openSUSE 11.3 (в данном случае: bash, fdisk, tar & grub legacy)

Вот рабочий процесс для моих сценариев:

backup.sh:

  1. (Запуск из внешней системы, например LiveCD)
  2. сделать скрипт fdisk ($ fscript) из вывода fdisk -l [works]
  3. смонтировать разделы из системного fstab [works]
  4. tar важные вещи в file.tgz [работает]

restore.sh:

  1. (Запуск из внешней системы, например LiveCD)
  2. запустить fdisk $ dest <$ fscript для восстановления разметки [works]
  3. отформатировать и смонтировать разделы из системного fstab [fails]
  4. Извлечь из файла file.tgz [работает при монтировании вручную]
  5. восстановить grub [не удается]

Недавно я заметил, что openSUSE (хотя я уверен, что он не имеет ничего общего с дистрибутивом) имеет разные выходные данные в /etc /fstab и /boot/grub/menu.lst, точнее, например, имя раздела " /dev /disk /by-id /numbers-brandname-morenumbers-part2 "вместо" /dev /sda2 "- но в основном это простая символическая ссылка.

Мои вопросы по этому поводу:

  • какой смысл в таких символических ссылках, особенно если мы восстанавливаем на другом диске?
  • Есть ли способ, чтобы полностью предотвратить создание этих символических ссылок и везде вместо этого использовать "true" /dev /sdx?
  • если предыдущее - нет, знаете ли вы способ замены этих символических ссылок на лету в текстовом файле? Я попробовал этот скрипт, но он работает, только если файл начинается с описания символической ссылки (случай fstab, а не menu.lst):

    ### search and replace /dev/disk/by-id/... to /dev/sdx
    while read oldVolume rest; do # get first element, ignore rest of line
        if [[ "$oldVolume" =~ ^/dev/disk/by-id/.*(-part[0-9]*$)? ]]; then
            newVolume=$(readlink $oldVolume) # replace pointer by pointee, returns "../../sdx"
            echo /dev/${newVolume##*/} $rest >> TMP # format to "/dev/sdx", write line
        else
            echo $oldVolume $rest >> TMP # nothing to do
        fi
    done < $file
    mv -f TMP $file # save changes
    

У меня были проблемы с поиском решения этой проблемы в Google, поэтому я надеялся, что некоторые из присутствующих здесь смогут мне помочь.

Спасибо.

1 ответ1

1

Сим-ссылки существуют, поэтому вы можете ссылаться на устройства по уникальному имени (комбинация производителя, модели и серийного номера). Это особенно полезно, если ваши диски меняют имена устройств, если вы загружаетесь с установленной флешкой.

Я часто использовал эти символические ссылки для решения проблем с ZFS и дисками, которые перемещают узлы устройства (особенно USB-диски).

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

В любом случае вам не следует создавать резервную копию /dev - там нет ничего полезного для резервного копирования.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .