Мы — долго запрягаем, быстро ездим, и сильно тормозим.

RFC
Программирование
FreeBSD
man
  vsftpd
  qemu
  dump
  restore
  awk
  sed
  tar
  security
EXIM


www.lissyara.su —> документация —> man —> restore

man restore

Автор: Andy.


Имя

restore, rrestore — восстановление файлов или файловых систем из бэкапов сделаных
с помощью утилиты dump.

Сценарий

restore -i [-dhmNuvy] [-b blocksize] [-f file | -P pipecommand]
          [-s fileno]
restore -R [-dNuvy] [-b blocksize] [-f file | -P pipecommand] [-s fileno]
restore -r [-dNuvy] [-b blocksize] [-f file | -P pipecommand] [-s fileno]
restore -t [-dhNuvy] [-b blocksize] [-f file | -P pipecommand]
          [-s fileno] [file ...]
restore -x [-dhmNuvy] [-b blocksize] [-f file | -P pipecommand]
          [-s fileno] [file ...]


rrestore - альтернативное имя для restore

(Синтаксис опций 4.3BSD внесен в программу для обратной совместимости, но
здесь не документирован)

Описание

Утилита restore производит функции обратные dump'у. Полное резервное копирование файловой системы может быть восстановлено, а отдельные инкрементальные бэкапы развернуты поверх основного бекапа. Одиночные файлы и директории могут быть восстановлены из полных или частичных бекапов. Утилита restore работает по сети; для реализации этих возможностей смотрите -f и -P флаги, описанные ниже. Другие аргументы команд это файлы и директории, указывающие файлы которые будут восстановлены. До тех пор пока флаг -h не будет указан (смотрите ниже), имя директории будет появлятся с файлами и (рекурсивно) поддиректориями, этой директории.

Совершенно точно потребуется один из следующих флагов:

-i Этот режим позволяет интерактивное восстановление файлов из бекапа. После чтения информации о директории из бекапа, restore предоставляет интерфейс схожий с shell'ом, который позволяет пользователю перемещатся внутри дерева директорий, выбирая файлы которые будут извлечены. Доступные команды даются ниже; для этих команд требуется аргумент, по умолчанию это текущая директория.

add[arg] Текущая директория или заданный аргумент добавляются к списку файлов которые будут извлекатся. Если директория указана, тогда директория вместе с содержимым будет добавлена к списку извлечения (если не использовался флаг -h). Файлы находящиеся в списке извлечения содержат спереди символ "*", в момент просмотра программой ls.

cd arg  Изменение текущей рабочей директории

delete [arg] Текущая директория или заданый аргумент удаляются из списка файлов на извлечение. Если директория указана, тогда она вместе с содержимым удаляется из списка файлов на извлечение (если не использовался флаг -h). Самый целесообразный способ извлечения файлов состоит в том, что бы добавить директорию к списку извлечения а затем удалить те файлы которые не нужны.

extract Все файлы в списке извлечения извлекаются из бекапа. Утилита restore спросит
какой том пользователь хочет смонтировать. Быстрый способ извлеч несколько файлов, состоит в том что бы начать работу с последнего тома, и продолжать до первого.

help список доступных команд

ls [arg] Список текущей или заданной директории. Вхождения в директорию добавляются символом "/". Вхождения отмеченные на извлечение предваряются символом "*". Если флаг подробного вывода установлен номер inode каждой записи так же указывается.

pwd Выводит полный путь текущей директории.

quit Завершает работу незамедлительно, даже если список извлечения не пуст.

setmodes Все директории добавленные в список извлечения имеют собственного владельца, права, и время; ничего не извлекается из бэкапа. Это полезно для чистки после прерывания работы restore.

verbose Смысл схож с флагом -v. Когда он установлен, флаг verbose заставляет команду
ls вывести список номеров inode для всех записей. Так же он заставляет restore вывести информацию о каждом файле который будет извлечен.

what Выводит информацию о заголовке бекапа, которая включает в себя: дату, уровень, метку, файловую систему и хост, с которого был снят бэкап.

-R Запрашивает часть ленты, многотомного архива, с которой начнется полное восстановление (смотрите флаг -f ниже). Полезно, если восстановление было прервано.

-r Восстановление (создание заново файловой системы). Целевая файловая система, должна быть сделана ранее с newfs(8), смотнтирована, и пользователь должен перейти в подготовленную ранее файловую систему прежде чем начнется восстановление нулевого уровня из резервной копии. Если уровень 0 восстановлен удачно, флаг -r может использоватся для восстановления всех необходимых инкрементальных бекапов выше уровня 0. Флаг -r устраняет интерактивное извлечение файлов и может являтся вредным для здоровья, если он не будет применятся аккуратно. Например:

newfs /dev/da0s1a
mount /dev/da0s1a /mnt
cd /mnt

restore rf /dev/sa0

Учтите, что восстановление оставляет файлы restoresymtable в корневой директории для пропуска информации между икрементальными проходами восстановления. Файл должен быть удален когда последний инкрементальный бекап восстановлен. Утилита restore в сочетании с newfs(8) и dump(8), может использоватся для модификации параметров файловой системы таких как размер или размер блока.

-t Имена указанных файлов перечисляются если они присутствуют на бэкапе. Если аргументов файла не задано, тогда перечисляется корневая директория, которая приводит к перечислению всего содержимого всех директорий бекапа, если не был указан флаг -h. Учтите, что флаг -t заменяет функцию старой программы dumpdir(8).

-x Имена файлов читаются из заданного носителя. Если имя файла совпадает с директорией чье содержимое присутствует на резервной копии и флаг -h не определен, директория рекурсивно извлекается. Владелец, время модификации, и права восстанавливаются (если это возможно). Если аргументов файла не указывалось, тогда извлекается корневая директория, что приводит к извлечению всего содержимого
бэкапа, если флаг -h не был определен.

Следующие дополнительные опции могут быть определены:

-b blocksize  Количество килобайт на запись. Если опция -b не задана, restore попробует определить динамически размер блока носителя.

-d Посылает подробную отладочную информацию на stderr.

-f file Читает бэкап из файла; файл может являтся специальным файлом устройства как например /dev/sa0 (ленточный накопитель), /dev/da1c (дисковый накопитель), простым файлом, или "-" (стандартный вывод). Если имя файла имеет форму: "хост:файл", или "пользователь@хост:файл", restore прочтет названный файл на удаленном хосте используя rmt(8)

-P pipecommand Использование popen(3) для запуска строки скрипта sh(1) определенной pipecommand как вход для каждого тома. Порожденный stdin pipeline'а (/dev/fd0) перенаправляется из входного потока, и переменная окружения RESTORE_VOLUME устанавливается для текущего читаемого номера тома. Скрипт pipecommand запускается каждый раз когда том загружен таким образом, будто он является ленточным носителем.

-h Извлекает саму директорию, а не файлы которые в ней находятся. Таким образом предотвращается иерархическое восстановление полного поддерева из бекапа.

-m Извлекает только по номерам inode, а не по именам файлов. Это бывает полезно только для если нескольких файлов извлекаются, и ктото не хочет восстанавливать полный путь файла.

-N Производить извлечение, но не записывать изменения на диск. Такая возможность может быть использована для проверки целостности носителя резервной копии или для других тестовых целей.

-s fileno Читать с определенного номера файла. Номера файлов начинаются с 1.

-u Когда создаете определенные типы файлов, resotore может создавать диагностическое предупреждение, если файлы существуют в директории. Для предотвращения этого флаг -u (unlink) заставляет restore удалять старые записи прежде чем создавать новые.

-v Обычно resore выполняет свою работу тихо. Флаг -v (verbose) заставляет выводить имя каждого файла

-y Не спрашивать пользователя прерывать ил восстановление в случае ошибки. Всегда попробуйте пропустить сбойный блок и продолжить.

Окружение

TAPE  Устройство с которого происходит чтение резервной копии
TMPDIR Имя директории где временные файлы будут созданы

Файлы

/dev/sa0           ленточный накопитель по умолчанию
/tmp/rstdir*       файл содержащий директории на ленте
/tmp/rstmode*      владелец, права, и отметка времени для директорий
./restoresymtable  информация прошедшая между икрементальными восстановлениями

Диагностика

Утилита restore пожалуется, если получит ошибку. Если опция -y была указанна, или пользователь ответил "y", restore продолжит восстановление.

Если резервное копирование было сделано с использованием более одной ленты, restore уведомит пользователя когда понадобится смонтировать новый раздел. Если флаги -x или -i были указаны, restore также спросит какой том пользователь желает смонтировать. Быстрый способ извлечь несоколько файлов это начать с последнего тома и двигатся к началу.

Существуют многочисленные проверки целостности, которые могут быть перечислены утилитой restore. Большинство проверок очевидно, либо "никогда не было". Самые распространенные перечислены ниже.

Конвертирование в новый формат файловой системы.
Резервная копия созданая из старой файловой системы, загружена. Она автоматически будет переконвертирована в формат новой файловой системы.

<имя файла>: не найден на ленте
Указанное имя файла присутствует в списке директорий но не найдено на ленте. Это
вызвано ошибками чтения ленты, во время поиска файла или снятия копии на активной
файловой системе.

ожидаемый следующий файл <номер inode>, имеет <номер inode>
обнаружен файл не указанный в директории. Это может случится, если копия снималась на активной файловой системе.

Инкрементальный бекап слишком мал
Во время инкрементального восстановления, бекап был записан до предыдущего инкрементального бекапа, или был загружен слишком низкий инкрементальный уровень

Инкрементальный бекап слишком высокий
Во время инкрементального восстановления, бекап не начинается с того места, где был закончен предыдущий бекап, или слишком высокий инкрементальный уровень был загружен.

Ошибка чтения ленты во время восстановления <имя файла>
Ошибка чтения ленты во время пропуска inode <номер inode>
Ошибка чтения ленты во время попытки ресинхронизации

Возникла ошибка чтения ленты или другого носителя. Если номер inode был пропущен или лента пыталась ресинхронизироватся, то извлеченные файлы не будут испорчены, хотя файлы могут быть не найдены на ленте.

resync restore, пропущено <количество> блоков
После ошибки чтения бекапа, restore может ресинхронизировать себя. Это сообщение выведет список блоков которые были пропущены.

Смотрите так же

dump(8), mount(8), newfs(8), rmt(8)

История

Утилита restore появилась в 4.2BSD.

Ошибки

Утилита восстановления может очень удивится, когда происходят инкрементальные восстановления из бекапов сделаных на активной файловой системе без использования опции -L (смотрите dump(8)).

Резервное копирование нулевого уровня должно делаться после полного восстановления. Потому что restore запускает пользовательский код, она не контролирует расположение inode, таким образом полный бекап должен быть сделан что бы получить полный список директорий отражающих новую нумерацию inode, даже если содержимое файлов не изменилось.

Для сетевого восстановления вы должны загрузить restore как root. Это необходимо из исторических соображений безопасности утилит dump и restore. (restore написана что бы быть setuid root, но мы не уверены что все ошибки исчезли из кода restore - запускайте setuid на свой страх и риск.)

Временные файлы /tmp/rstdir* и /tmp/rstmode* создаются из уникальных имен, основанных на дате сохранения и ID процесса (смотрите mktemp(3)), исключая случаи когда используются флаги -r или -R. Поэтому -R позволяет вам перезапустить -r операцию которая может быть прервана, временные файлы должны быть такими же, В остальных случаях файлы уникальны, потому что можно запустить два разных процесса сохранения в одно и тоже время и разделить операции которые не должны конфликтовать друг с другом.



размещено: 2007-07-12,
последнее обновление: 2007-07-13,
автор: Andy



Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN

На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli

Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master

MySQL (Master Master) and (Master Slave) Как настроить репликацию…
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 15 чел.
За последние 30 мин было: 66 человек
За сегодня было
3109 показов,
512 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.1031 секунд
Из них PHP: 49%; SQL: 51%; Число SQL-запросов: 48 шт.
Исходный размер: 57106; Сжатая: 14117