Dump man
Взято здесь, и скопировано на всякий случай.
Содержание
dump
От себя: если дамп делается на винт примонтированный например в директорию /root/backup, то для полного дампа /var подойдет:
/sbin/dump -a -L -0u -f /root/backup/var /var
Для исключения папок или файлов из дампа можно установить флаг nodump и использовать ключ -h, например для того чтобы исключить из дампа папку /home/dirs:
chflags nodump /home/dirs
Для просмотра флагов:
ls -lo
Тогда дамп можно выполнить например такой командой:
/sbin/dump -a -h 0 -L -0u -f /backup/20091109/home /home
Использование dump через ssh
# /sbin/dump -a -h 0 -L -0u -f - /usr | gzip -2 | ssh dumpuser@backupserver.ru \ dd of=/dumpdir/dump-usr.gz
Использование dump при работе через ssh с заданием RSH
# RSH=/usr/bin/ssh /sbin/dump -a -h 0 -L -0u -f dumpuser@backupserver.ru:/dumpdir/dump-usr /usr
Имя
dump, rdump — бекап (резервное копирование) файловой системы
Сценарий
dump [-0123456789acLnSu] [-B records] [-b blocksize] [-C cachesize] [-D dumpdates] [-d density] [-f file | -P pipecommand] [-h level] [-s feet] [-T date] filesystem dump -W | -w
rdump - альтернативное назавание dump.
(Синтаксис опций 4.3BSD внесен в программу для обратной совместимости, но здесь не документирован)
Описание
Утилита dump проверяет файлы в файловой системе, и определяет какие файлы подлежат резервному копированию. Эти файлы копируются на заданный диск, ленту, или другой носитель для безопасного хранения (смотрите опцию -f описанную ниже, для удаленного бекапа). Архив, который больше, чем выходной носитель разбивается на несколько томов. На большинстве носителей размер определяется записью до тех пор, пока состояние end-of-media не будет возвращено. Это можно указать с помощью опции -a.
На носителях, которые не могут правильно возвратить состояние end-of-media (на ленточных картриждах например), каждый том имеет фиксированный размер; настоящий размер определяется размером ленты и ее плотностью и/или опцией -B. По умолчанию, такой же выходной файл используется для всех томов, после приглашения оператору сменить носитель.
Файловая система, которая будет сохранена, оперделяется аргументом файловой системы, или специальным файлом устройства, или точкой монтирования (если у нее стандартная запись в /etc/fstab).
Следующие опции поддерживаются dump'ом:
0-9 Уровни сохранения. На уровне 0, полное резервное копирование, гарантирует, что вся файловая система будет скопирована. (но так же посмотрите опцию -h ниже). Уровни выше 0, инкрементальное копирование, говорят dump'у копировать все файлы новые или модифицированные с момента последнего сохранения любого уровня. По умолчанию уровень 0
-a "auto-size" (определение размера автоматически). Пропускает все проверки длинны ленты и записывает до тех пор, пока не получит сигнал end-of-media. Подходит наилучшим образом для современных накопителей на лентах. Использование этой опции частично рекомендовано при добавлении к существующей ленте или использования накопителя с аппаратной компрессией (где вы не можете быть точно уверены по поводу компрессии)
-B records Количество килобайт на выходной том, исключая те которые являются числом умноженым на размер блоков, и следующие команды меньше чем это умножение. Эта опция предотвращает подсчет размера ленты, который основан на длине и плотности.
-b blocksize (размер блока) Количество килобайт на выходной блок. Используемый по умолчанию размер блока 10.
-C cachesize (размер кэша) Определяет размер кэша в мегабайтах. Опция сильно улучшает производительность ценой возможности dump'а не замечать изменения файловой системы между проходами. Рекомендуется если вы всегда используете эту опцию, когда сохраняете снапшот. Остерегайтесь форков dump'а, действительное использование памяти может быть больше чем заданный размер кэша Рекомендуемый размер кэша между 8 и 32 мегабайтами.
-c Изменения настроек по умолчанию, используемых для ленточного картриджа, с плотностью 8000 bpi, и длинной 1700 футов.
-D dumpdates Определяет путь к файлу dumpdates. По умолчанию /etc/dumpdates.
-d density (плотность) Устанавливает плотность ленты. По умолчанию 1600BPI.
-f file (файл) Запись бекапа в файл; файл может быть специальным устройством, таким как /dev/sa0 (ленточный накопитель), /dev/fd1 (дисковод), обычный файл, или "-" (стандартный вывод). Множественные имена файлов могут быть заданы одним аргументом разделенным запятыми. Каждый файл будет использоваться для одного тома в порядке очереди; если для сохранения требуется больше томов, чем заданных имен, последнее имя будет использовано для всех следующих томов после приглашения для смены носителя. Если имя файла имеет форму: "хост:файл", или пользователь@хост:файл", dump запишет названный файл на удаленный хост используя rmt(8). Имя пути по умолчанию, для удаленной программы rmt(8) /etc/rmt; путь можно изменить переменной окружения RMT.
-P pipecommand Использование popen(3) для запуска строки скрипта sh(1) определенной pipecommand для выходного устройства для каждого тома. Порожденный stdin pipeline'а (/dev/fd0) перенаправляется из выходного потока dump'а, и переменная окружения DUMP_VOLUME устанавливается для текущего записываемого номера тома. Подчиняется размеру носителя определенному опцией -B, каждый том записывается таким образом, будто вывод является ленточным носителем.
-h level (уровень) Соблюдать пользовательский "nodump" флаг (UF_NODUMP), только для dump'ов такого же или выше чем заданный уровень. Уровень по умолчанию 1, поэтому инкрементальное резервное копирование пропустит эти файлы, но полное резервное копирование сохранит их. Установить флаг "nodump" можно с помощью chflags nodump filename. Для просмотра флагов можно использовать ls -lo.
-L Эта опция предупреждает dump, что происходит процесс сохранения живой файловой системы. Для получения полного образа, dump записывает снапшот файловой системы в директорию .snap в корне файловой системы, которая будет сохранена и затем делает сохранение снапшота. Снапшот разлинковывается как только начинается процесс сохранения и удаляется после завершения сохранения. Опция игнорируется для отмонтированых или смотированых только на чтение, файловых систем. Если директория .snap отсутствует в корневой директории сохраняемой файловой системы, будет показано предупреждение и dump вернется к стандартному поведению. Эта проблема может быть устранена созданием .snap директории, в корневом каталоге файловой системы, которая будет сохранятся; ее владельцем должен быть "root", группа "operator", и атрибуты должны быть "0770".
-n всякий раз когда dump требует внимания оператора, уведомлять всех операторов в группе "operator", как это делается в wall(1)
-S Показывает оценку размера бэкапа и количество требуемых лент, и завершает работу не выполняя сохранения.
-s feet (футы) Пробует подсчитать количество нужной ленты, необходимой плотности. Если это количество превышено, dump выведет приглашение для вставки новой ленты. Рекомендуется быть консервативным при выборе этой опции. Длина пленки по умолчанию 2300 футов.
-T date Использование заданной даты во время старта dump'а вместо, времени определенного из файла dumpdates. Формат даты такой же, как и ctime(3). Эта опция полезна для автоматических dump скриптов, которые будут делать бэкап через определенные периоды времени. -T опция и опция -u - взаимоисключающие.
-u Обновляет файл dumpdates после успешного сохранения. Формат файла dumpdates читаем для человека, содержит одну из трех форматов записи на строку: имя файловой системы, инкрементальный уровень, и дату сохранения в формате ctime(3). Может быть только одна запись для файловой системы каждого уровня. Файл dumpdates может быть отредактирован для изменения любого из полей, если это необходимо. Путь по умолчанию, для файла dumpdates - /etc/dumpdates, но опция -D может использоваться для изменения пути.
-W Сообщить оператору, какая файловая система нуждается в сохранении. Эта информация получается из файлов dumpdates и /etc/fstab. Опция -W заставляет dump, для каждой файловой системы в файле dumpdates, новые дату и уровень сохранения и подсвечивать, файловые системы, которые должны быть сохранены. Если опция -W установлена, все другие опции игнорируются и dump незамедлительно завершает работу.
-w То же самое, что и -W, только выводит те файловые системы которые должны быть сохранены.
Директории и регулярные файлы, которые имеют установленный флаг "nodump" (UF_NODUMP), будут пропущены, наряду со всем содержимым таких директорий, подчиненых опции -h.
Утилита dump требует участия оператора, для отслеживания таких условий как: конец ленты, конец сохранения, ошибка записи на ленту, ошибка открытия ленты или ошибка чтения диска (их больше 32). В дополнение предупрждению всех операторов ключем -n, dump взаимодецствует с оператором, через терминал, когда dump не может продолжать работу или что то пойдет не так. На все вопросы, которые задает dump, нужно отвечать вводя "yes" или "no".
С момента создания, dump требует много усилий и времени для создания полных дампов, чекпойнтов дампов, в начале каждого тома на каждой ленте. Если запись этого тома заканчивается неудачей, по разным причинам, dump, с разрешения оператора, перезапустится, с чекпойнта после того как старая лента была перемотана и убрана, а новая вставлена.
Утилита dump сообщает оператору, что происходит, через переодические интервалы времени (каждые 5 минут, или приглашением после получения сигнала SIGINFO), включая обычно низкие оценки количества блоков для записи, количество требуемых лент, время завершения и время смены ленты. Вывод сообщений подробный, так что другие будут знать что терминал контролируется dump'ом и будет занят некоторое время.
В момент поломки диска, время требуемое на восстановление всех необходимых бэкапов с лент или файлов на диск, может быть сведено к минимуму путем применения инкрементальных бэкапов. Эффективный метод инкрементальных бэкапов минимализующийколичество лент, следующий:
Всегда нечинайте с 0 уровня бэкапа, например:
/sbin/dump -0u -f /dev/nsa0 /usr/src
Он должен делаться через установленные интервалы, скажем раз в месяц или раз в два месяца, и на новой ленте которая сохранится вечно. (прим. переводчика: ;))
После нулевого уровня, бекапы активных файловых систем (файловая система с файлами, которые изменились, в зависимости от раскладки раздела некоторые файловые системы могут содержать только данные которые не изменились) которые производились ежедневно, используя модифицированный алгоритм Tower of Hanoi, с нижеследующей последовательностю уровней сохранения:
3 2 5 4 7 6 9 8 9 9 ...
Для ежедневного сохранения, возможно использование фиксированного количества лент для каждого дня, базируясь на неделях. Каждую неделю. снимается первый уровень бэкапа, и каждый день последовательность Hanoi повторяется начиная с 3. Для недельных сохранений, используется другой фиксированный набор лент, на сохранение используемой файловой системы, так же основанном на цикличности.
После нескольких месяцев, или около того, должны ежедневные и еженедельные ленты должны выбывать из цикла и заменятся новыми.
Окружение
TAPE - файл или устройство на которое будет произведено сохранение, если опция -f не используется.
RMT - путь к удаленной rmt программе
RSH - путь к удаленному shell'у, если не rsh(1)
Файлы
/dev/sa0 ленточный накопитель по умолчанию, на который будет производится сохранение. /etc/dumpdates записть даты сохранения (может быть изменена, смотрите опцию -D) /etc/fstab таблица сохранений, файловые системы и частота /etc/group путь поиска операторов
Статус завершения
dump прекращает работу с 0 статусом, если небыло сбоев. Ошибки запуска показываются с кодом выхода равным 1; ненормальное завершение показываются с кодом выхода равным 3
Диагностика
разная и многословная
Смотрите так же
chflags(1), fstab(5), restore(8), rmt(8)
История
утилита dump появилась в версии 6 AT&T UNIX
Ошибки
Меньше 32 ошибок чтения файловой системы игнорируются, хотя обо всех ошибках будет выведено предупреждение. Это что-то вроде компромиса. На практике возможно создание ошибок чтения когда сохранение происходит на смонтированных разделах, когда файловая система была модифицирована в момент работы dump'а. Поскольку сохранение производится в режиме cron(8) работа требующая присутствия оператора привела бы к смерти дампа. Однако ничего неправильного если сохранение на ленту будет произведено с такими ошибками, и нет никаких причин прервывать процесс. Каждый reel требует нового процесса, поэтому родительский процесс для reel уже записаных, висят до тех пор пока вся лента не будет записана.
Утилита dump с опциями -W и -w, не будет сообщать файловым системам что они никогда не были записаны в файл dumpdates, даже если они перечислены в /etc/fstab.
Было бы здорово, если бы dump знала о последовательности сохранений, сохраняла дорожку ленты, сообщала оператору какая лента когда смонтирована, и предоставляла больше помощи оператору загружающему restore(8).
Утилита dump не может делать удаленные бэкапы, не будучи запущенной как root, из исторических соображений безопасности. Это будет исправлено в поздних версиях FreeBSD. В настоящий момент, она работает, если вы установите ей setuid (как это имеет место быть), но это может быть угрозой безопасности.