Я создаю резервную копию сервера Linux и храню его на другом сервере.
Я начал с простого
rsync -aPh --del server.example.com:/ /mnt/backup
Тогда кто-то указал, что я не должен /proc
делать резервные копии , так как вы не хотите восстанавливать /proc
один сервер на другом.
Что-нибудь еще, что я должен / не должен включать?
Например, как насчет /sys
?
/boot
полностью - вам может потребоваться сравнить старую конфигурацию загрузки с новой конфигурацией загрузки. Только убедитесь, что не восстановить,/boot
кроме как вручную.И то,
/proc
и другое/sys
- это виртуальные файловые системы, которые отражают состояние системы и позволяют изменять несколько параметров времени выполнения (а иногда и делать более опасные вещи, такие как прямая запись в память или на устройство). Вы никогда не должны делать резервные копии или восстанавливать их.В большинстве современных дистрибутивов
/dev
динамически создается при загрузке (это файловая система памяти, заполненнаяudev
друзьями). Не имеет смысла его поддерживать, и пытаться восстановить его бесполезно. Однако, если ваш дистрибутив настроен на использование статического/dev
, это не относится (проверка/proc/mounts
, если/dev
естьtmpfs
это файловая система памяти).Существуют и другие файловые системы, резервное копирование которых не следует;
usbfs
(обычно/proc/bus/usb
, если установлены на всех),debugfs
(должно быть в/sys/kernel/debug
случае установки на всех, но некоторые люди положить его где - то еще, вы , вероятно , не этот),devpts
(установленный в/dev/pts
) другиеtmpfs
случаи (часто встречаются в/dev/shm
,/var/run
,/var/lock
и в других местах; их резервное копирование и восстановление должны быть безвредными, но бессмысленными, так как их содержимое теряется при завершении работы), а также любые удаленные каталоги файловых систем или магические автомонтирующие устройства (попытка их резервного копирования или восстановления может привести к катастрофе, как вы могли бы в конечном итоге резервное копирование / восстановление на другую машину ). Вы также должны быть осторожны с/media
и/mnt
поскольку внешние устройства (например, компакт-диск, который вы забыли в приводе) можно найти там, но вы могли также использовать их специально для монтирования чего-либо, что должно быть скопировано.Следует отметить , что, кроме основном безобидные
tmpfs
экземпляров, сетевых файловых систем / автоматического монтирования и съемных носителей, файловые системы , вы не должны создавать резервные копии являются все потомки/dev
,/proc
или/sys
. Если у вас нет сетевых файловых систем (или автомонтировщиков), а также нет съемных носителей, исключая/sys
и/proc
и перезагрузку после восстановления (чтобы стеретьtmpfs
экземпляры) должно быть достаточно.источник
См . Дао Резервирования , глава 1.
источник
Некоторые из специальных файлов в / proc и / sys сбивают с толку rsync. Обычно вы не хотите создавать резервные копии подключенных сетевых файловых систем. Разреженные файлы также могут вызвать проблемы.
Добавьте -x, чтобы ограничить его одной файловой системой. Это исключает все сетевые файловые системы и / proc и т. Д. Однако затем вам нужно запустить один rsync для каждой смонтированной вами файловой системы.
Добавьте -S для разумной обработки разреженных файлов.
источник
/ boot, / dev и / proc совершенно бесполезны для резервного копирования - хотя, если вы знаете, что делаете, вы можете сделать резервную копию / boot.
Я также не буду делать резервные копии / lib, / media, / mnt, / sbin, / bin, / srv, / sys или / tmp.
/ usr является необязательным, в зависимости от того, есть ли у вас резервная копия в / usr. На вашем месте я бы больше всего беспокоился о резервном копировании пользовательских $ HOME, / var и / etc (для файлов конфигурации).
Опять же, все зависит от типа резервного копирования, который вы хотите сделать. Это веб-сервер? Это персональный компьютер? Это сервер оболочки с множеством каталогов в / home?
источник
rsync
вами не только скопировать только то, что вы использовали, но и включить синхронизацию в будущем, так что вы можете безопасно запустить для нее задание cron.Вы можете добиться полного резервного копирования, используя sfdisk и dd.
Чтобы сделать резервную копию схемы разделов каждого жесткого диска, вы должны использовать sfdisk следующим образом:
Для резервного копирования каждого раздела вы можете использовать dd, например:
Где
/dev/sda1
размонтирован, например, с загрузкой live-CD.(имейте в виду, что для записи этого файла вам понадобится много свободного места; возможно, вы захотите записать его на внешний носитель). Делайте это для каждого раздела по одному и сохраняйте все резервные копии.
Затем для восстановления на другом компьютере вы можете сделать:
источник
dd if=/dev/urandom of=/dev/sdb bs=512 count=12
стереть MBR и таблицу разделов целевого диска.Вместо того, чтобы исключить, я обычно только резервное копирование, что я хочу. В том числе:
/home
/etc
/var
(кроме/var/log
)источник
По сути, псевдофайловые системы (/ proc, / sys, / dev / shm ...) не нуждаются в резервном копировании.
источник
Как указывает это великое сообщество:
/ dev / proc / sys / tmp / run / media / lost + found / boot (/ boot необязательно, см. другие комментарии)
Для справки моя последняя команда rsync (в разделе Arch с внешним носителем, смонтированным в '/ run / media / fred / INTENSO /' и резервным копированием в папку с именем 'fred'):
$ sudo rsync -Pazhmxv --exclude / run / media --exclude / dev --exclude / lost + found --exclude / tmp --exclude / proc --exclude / boot --exclude / sys / / run / media / Фреда / INTENSO / Фред /.
(исключенные файлы также могут быть указаны в фигурных скобках (--exclude = {/ dev, / proc}) в Bash или в текстовом файле (--exclude-from = 'excude.txt')).
-P: показать прогресс -a: режим архива -z: сжать во время передачи -h: вывести числа в удобочитаемом формате -m: удалить пустые каталоги -x: ограничить до одной файловой системы -v: многословно
источник
Я нахожусь на машине Ubuntu 18.04, и у меня есть эти исключенные:
Кроме того, специально для моей установки, я исключаю это:
источник
Обычно у меня есть привычка делать резервные копии всего в системе, даже то, что я знаю наверняка, бесполезно для резервного копирования. Это проще в настройке, и вы можете быть на 100% уверены, что вы получите все необходимое для включения в резервную копию.
источник
/proc
и/dev
чтобы не путать бедных малоrsync
.Я использую Ubuntu linux box в качестве тестового сервера для разработки веб-сайтов и для размещения вики документации. Каждую ночь crontab выгружает базу данных MySQL в / var / www, а затем все / var / www архивируются и реплицируются на сервер резервного копирования. Это не идеально, но этого достаточно. В какой-то момент мне пришлось перестраивать сервер, и все, что мне действительно не хватало, - это файлы конфигурации Apache и Samba.
источник
Я бы предположил, что у вас нет Linux на виртуальной машине. Если это вообще возможно, я бы настоятельно рекомендовал перейти к виртуализации. Резервные копии на уровне VM - это новый уровень согласованности и простоты использования. Существуют бесплатные инструменты виртуализации, поэтому вам не обязательно вкладывать деньги в VmWare или другой дорогой инструмент для монстров.
источник
Вопрос: Какие каталоги я должен исключать при резервном копировании сервера?
Вот сценарий, который я часто использую, от ноутбука Ubuntu 16.04 LTS до сервера Ubuntu 16.04 LTS. Это ясно показывает, какие каталоги должны быть пропущены при создании полной резервной копии:
Обратите внимание на исключение
/mnt
- именно здесь каждая система Ubuntu имеет накопитель для резервного копирования на полный рабочий день, монтируемый дляrsync
самостоятельного резервного копирования на основе cron 4 раза в день. Эти диски установлены в записиfstab
и всегда присутствуют. Включить их в резервную копию в другую систему было бы дубликатом.Точно так же,
/media
где USB-накопители монтируются. Они резервируются отдельно.источник