Это действительно зависит от того, как Вы собираетесь восстановить свою систему. Если Вы восстановите затем, Вам только нужна конфигурация/файлы данных для Ваших сервисов (например: / и т.д., / выбирают, / var, / домой),
Если Вы после полного восстановления системы, то оно Вы могли опустить/proc, / начальная загрузка и/dev. Затем можно установить минимальную ОС от загрузочного носителя и затем восстановить систему через резервное копирование.
Конечно, лучшее резервное копирование является тем, которое было протестировано и проверено.
Поэтому опустите то, что Вы не думаете, что нуждаетесь, пытаетесь восстановить в VM и проверить, что можно возвратить систему с помощью этих данных.
Я использую поле Linux Ubuntu в качестве сервера тестирования для разработки веб-сайтов, и для хостинга документации Wiki. Каждую ночь crontab выводит базу данных MySQL в/var/www, и затем все/var/www заархивированы и копируются в сервер резервного копирования. Это не идеально, но это достаточно. Я должен был восстановить сервер однажды и все, что я действительно пропустил, был конфигурационные файлы Samba и Apache.
Я обычно делаю привычку к резервному копированию всего в системе, даже материал, который я знаю наверняка, бесполезен для резервного копирования. Более просто настроить, и можно быть на 100% уверены, что Вы собираетесь получить все, в чем Вы действительно нуждаетесь включенный в резервное копирование.
/proc
и /dev
, чтобы не перепутать плохой мало rsync
.
– T.J. Crowder
15 October 2009 в 17:01
В основном псевдофайловые системы (/proc,/sys,/dev/shm...) не должны быть сохранены.
Вы могли достигнуть общего резервного копирования с помощью sfdisk и dd.
Для резервного копирования схемы выделения разделов каждого жесткого диска Вы использовали бы sfdisk как это:
sfdisk -d /dev/sda > parttable_sda.part
Для резервного копирования каждого раздела, Вы могли использовать dd, как так:
dd if=/dev/sda1 of=devsda1.img
Где /dev/sda1
размонтирован, такой как с начальной загрузкой живого CD.
(имейте в виду, что Вы испытываете необходимость, чтобы иметь большое свободное пространство для записи этого файла; таким образом, можно хотеть записать, это к внешние медиа) Делают это для каждого раздела, по одному, и создают резервную копию всего.
Затем для восстановления на другом компьютере, можно сделать:
sfdisk /dev/sda < parttable_sda.part
dd if=devsda1.img of=/dev/sda1 # do this for each partition
/ начальная загрузка,/dev и/proc довольно бесполезны для резервного копирования - хотя, если Вы знаете то, что Вы делаете, можно скопировать начальную загрузку/.
Я также не скопировал бы / lib, / медиа,/mnt,/sbin, / мусорное ведро,/srv,/sys, или/tmp.
/usr является дополнительным, в зависимости от того, есть ли у Вас что-нибудь в/usr, стоящем резервного копирования. На вашем месте я "d волнуюсь больше всего о резервном копировании $HOMEs пользователя, / var и / и т.д. (для конфигурационных файлов).
Снова, хотя, это действительно все зависит от типа резервного копирования, Вы хотите сделать. Действительно ли это - веб-сервер? Действительно ли это - персональный компьютер? Действительно ли это - сервер оболочки с тоннами каталогов под / домой?
Некоторые специальные файлы в/proc и/sys путают rsync. Вы не хотите создавать резервную копию смонтированных сетевых файловых систем также, обычно. Редкие файлы могут также вызвать проблемы.
Добавьте-x для ограничения его одной файловой системой. Это избегает всех сетевых файловых систем и/proc и т.д. Однако затем необходимо выполнить один rsync для каждой файловой системы, которую Вы смонтировали.
Добавьте-S для обработки редких файлов разумно.
Оба /proc
и /sys
виртуальные файловые системы, которые отражают состояние системы и позволяют Вам изменять несколько параметров периода выполнения (и иногда делать более опасные вещи, как прямая запись в память или в устройство). Вы никогда не должны копировать или восстанавливать их.
В большинстве современных дистрибутивов, /dev
динамично создается при начальной загрузке (это - файловая система памяти, заполненная udev
и друзья). Нет никакого смысла в резервном копировании его, и попытка восстановить его бесполезна. Однако, если Ваше распределение настроено для использования помех /dev
, это не применяется (проверка /proc/mounts
, если /dev
a tmpfs
это - файловая система памяти).
Существуют другие файловые системы, которых Вы не должны создавать резервную копию; usbfs
(обычно в /proc/bus/usb
, если смонтировано вообще), debugfs
(предполагаемый быть в /sys/kernel/debug
если смонтировано вообще, но некоторые люди помещает его где-то в другом месте; у Вас, вероятно, нет этого), devpts
(смонтированный в /dev/pts
), другой tmpfs
экземпляры (часто находимый в /dev/shm
, /var/run
, /var/lock
, и другие места; резервное копирование их и восстановление их должны быть безопасными, но бессмысленными, поскольку их содержание потеряно на завершении работы), и любые удаленные файловые системы, или волшебные каталоги утилиты автоматического монтирования (пытающийся скопировать или восстановить их мог закончиться в аварии, как Вы могли закончить тем, что отступили/восстановление к другой машине). Необходимо также быть осторожными с /media
и /mnt
, поскольку внешние устройства (как CD Вы забыли в диске) могли быть найдены там, но Вы, возможно, также использовали их нарочно для монтирования чего-то, что должно быть сохранено.
Отметьте это кроме главным образом безопасного tmpfs
экземпляры, сетевые файловые системы/утилиты автоматического монтирования и съемные носители, файловые системы, которых Вы не должны создавать резервную копию, являются всеми потомками /dev
, /proc
, или /sys
. Если у Вас нет сетевых файловых систем (или утилиты автоматического монтирования), и никакие съемные носители, исключая /sys
и /proc
и перезагрузка после восстановления (для стирания tmpfs
экземпляры), должен быть достаточно.
Как указано этим великим сообществом:
/ 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 / fred / INTENSO / fred /.
(исключенные файлы также могут быть указаны с помощью фигурных скобок (--exclude = {/ dev, / proc}) в Bash или с помощью текстового файла (--exclude-from = ' excude.txt ')).
-P: показать прогресс -a: режим архива -z: сжимать во время передачи -h: выводить числа в удобочитаемом формате -m: удалить пустые каталоги -x: ограничить одной файловой системой -v: подробный
Я предполагаю, что у вас нет Linux на виртуальной машине. Если это вообще возможно, я бы настоятельно рекомендовал подумать о переходе на виртуализацию. Резервное копирование на уровне виртуальной машины - это совершенно новый уровень согласованности и простоты использования. Существуют бесплатные инструменты виртуализации, поэтому вам не обязательно вкладывать средства в VmWare или другой дорогой инструмент-монстр.
Я использую машину Ubuntu 18.04, и они исключены:
/dev/
/proc/
/sys/
/tmp/
/run/
/mnt/
/media/
/lost+found/
/cdrom/
/swapfile
Кроме того, специально для моей настройки я исключаю их:
/home <-- Backed up separately
/backup <-- Mount point for backup disks
/data <-- Mount point for data disks, which are backed up off-site
/scratch <-- Mount point for volatile fast SSD scratch disk
Вопрос: Какие каталоги следует Я исключаю при резервном копировании сервера?
Вот сценарий, который я часто использую, с ноутбука Ubuntu 16.04 LTS на сервер Ubuntu 16.04 LTS. Он ясно показывает, какие каталоги следует пропустить при создании полной резервной копии:
echo "EMPTYING TRASH"
rm -rf ~/.local/share/Trash/* >/dev/null 2>&1
echo "DELETING OLD LOGS"
sudo rm -f /var/tmp/* >/dev/null 2>&1
sudo rm -f /var/log/*.gz >/dev/null 2>&1
sudo rm -f /var/log/kern* >/dev/null 2>&1
sudo rm -f /var/log/messages* >/dev/null 2>&1
echo "DELETING CHROMIUM CACHE"
rm -rf /home/pi/.cache/chromium/Default/Cache/* >/dev/null 2>&1
echo "====================================================================="
echo " BEGINNING RSYNC from PAV root to PRIME5:/mnt/full/pav"
echo "====================================================================="
time sudo rsync -aAXv \
/ \
--bwlimit=500 \
--delete \
--delete-excluded \
--ignore-errors \
--exclude="/dev/*" \
--exclude="/proc/*" \
--exclude="/sys/*" \
--exclude="/tmp/*" \
--exclude="/run/*" \
--exclude="/mnt/*" \
--exclude="/media/*" \
--exclude="/lost+found" \
abc@prime5:/mnt/full/pav
echo "====================================================================="
df -h
Обратите внимание на исключение / mnt
- именно здесь в каждой системе Ubuntu есть диск постоянного резервного копирования, смонтированный для cron-based ] rsync
самостоятельное резервное копирование 4 раза в день. Эти диски монтируются с помощью записей в fstab
и всегда присутствуют. Включение их в резервную копию в другой системе будет дублированием.
Точно так же / media
- это место, где монтируются USB-накопители. Они резервируются отдельно.
/boot
полностью - Вы, возможно, должны были бы сравнить старую конфигурацию начальной загрузки с новой конфигурацией начальной загрузки. Просто убедитесь не восстановление/boot
кроме вручную. – quack quixote 15 October 2009 в 16:24