Я слишком избалован утилитами Windows, которые делают цифровой снимок всего вашего диска, который затем можно восстановить в случае сбоя диска. (например, как Time Machine для Mac OS X).
Есть ли подобный способ сделать это в Linux?
Я слишком избалован утилитами Windows, которые делают цифровой снимок всего вашего диска, который затем можно восстановить в случае сбоя диска. (например, как Time Machine для Mac OS X).
Есть ли подобный способ сделать это в Linux?
Инструмент, который вы хотите (который больше всего напоминает Time Machine), называется rsnapshot. В отличие от обычных инструментов резервного копирования, он копирует только те вещи, которые изменились, и позволяет легко перемещаться во многие моменты времени. Вы можете указать, сколько дискового пространства ему разрешено, и настроить количество снимков, сохраняемых в пределах этого предела. Очень хороший инструмент.
Вы можете просто сделать « dd if=/dev/sda of=/path/to/target/backup
», если вы знаете, что у вас есть комната, где вы пытаетесь ее разместить. Вы также можете выполнить « dd if=/dev/sda | bzip2 > /path/to/target/backup
» для сжатия на лету. Это может занять некоторое время, хотя.
Или вы можете сделать « tar --preserve-permissions -cjf backup.tar.bz2 /what/to/backup
» как пользователь, имеющий все необходимые разрешения на чтение. Сделайте ваш выбор.
Приложение: я недавно купил новый ноутбук, предустановленный с Vista. Я решил, что хочу сохранить Vista где-нибудь, на случай, если я захочу попробовать его в какой-то момент, поэтому, когда я впервые загрузил компьютер (с linux livecd), я сделал это:
dd if=/dev/sda | ssh 10.0.0.1 "bzip2 > ~/vistadrive.bz2"
Это было в быстрой локальной сети, конечно. В противном случае было бы более разумно сжимать перед передачей:
dd if=/dev/sda | bzip2 | ssh 10.0.0.1 "cat > ~/vistadrive.bz2"
Надеюсь, вы найдете это полезным.
Редактировать: Ой. Поменял bb
на dd
...
PartImage запускается из командной строки или как текстовый графический интерфейс. Это имеет одно важное преимущество перед dd:
Partimage будет копировать данные только из используемых частей раздела. Для скорости и эффективности свободные блоки не записываются в файл изображения. Это не похоже на команду 'dd', которая также копирует пустые блоки.
Я использую двойную стратегию: № 1 - это снимки LVM, а номер два - rsnapshot, который я использую для резервного копирования на определенный момент времени на выделенный внешний жесткий диск. Внешний жесткий диск размещен так, чтобы я мог легко выдернуть его на выходе из двери, если что-то случится. Я (пока) не использую сторонний механизм, кроме периодической записи снимка на серию зашифрованных DVD-дисков и отправки его на хранение другу в другое место в другом городе.
Я настоятельно рекомендую rsnapshot из-за того, как он делает снимки, используя жесткие ссылки на вещи, которые не изменились. Если ваш домашний каталог сходит с ума, вы можете просто взять копию rsnapshot и tarpipe или rsync вернуть ее в новый домашний раздел после переустановки или восстановления после сбоя диска.
Несколько. Есть старомодный dd(1), который немного загадочен; есть дамп (8) и восстановление (8) ; вокруг есть несколько продуктов с открытым исходным кодом, таких как Аманда ; и если вы хотите, вы можете установить ZFS и использовать cron-скрипт для периодических снимков, что дает вам нечто, практически идентичное Time Machine (см. блог Тима Фостера).
В Википедии есть статья со списком множества вариантов.
Если вам нужна резервная копия на уровне файлов, такая как машина времени, тогда я настоятельно рекомендую rsnapshot, как предложил Норман .
Если вам нужно полное решение для резервного копирования и восстановления образа, например, norton ghost, то я обнаружил, что CloneZilla работает достаточно хорошо. Я загружаю live CD, а затем использую другую машину в качестве SSH-сервера для резервного копирования / восстановления образа в / из.
(Мне даже удалось заставить работать живую версию через PXE-загрузку для старого планшетного ноутбука, который у меня был без CD-привода и без загрузки USB, но это было очень сложно.)
И вы можете использовать его для Windows-машин тоже.
Я всегда беспокоился об использовании dd, когда диски были разного размера. Или имел различное количество головок / секторов / дорожек / и т.д.
dd очень полезен при создании снимков и перепрошивке одного и того же диска. Особенно USB-накопители или Windows разделы. Но при переходе с 500Meg на 1500Meg накопитель меня беспокоит.
Кроме того, когда мой диск выходит из строя, мне нравится использовать его в качестве предлога для перехода на более новую ОС.
Все, что сказал, старый добрый смолка делает хорошую работу! GNU-tar включает в себя параметры diff-tar-против-файлов, только -файлы -обновления-которые-изменились и только-архив-файлы-новее, чем дата .
(Я должен упомянуть: я столкнулся с ошибкой несколько лет назад, из-за которой мне пришлось скачать и установить более новую версию GNU-tar. (Что-то делать с очень длинными путями и несколькими томами.) Ничего страшного. Просто знайте, что это всегда вариант.)
Вы, вероятно, должны исключить /proc, /sys и, возможно, /var/log/lastlog или /mnt. (Я обычно делаю резервную копию на внешнем диске, смонтированном в /mnt. Резервное копирование резервной копии - не очень хорошо!)
Включение /dev может стоить. GNU-TAR будет правильно обрабатывать устройства (MKNOD). Хотя вы, вероятно, не будете использовать резервную копию /dev во время восстановления. (Иногда приятно видеть, какие разрешения или ссылки вы установили ранее.)
Кроме того, вам может потребоваться выгрузить информацию fdisk & rpm перед резервным копированием. Например
/sbin/sfdisk -l /dev/sda > /....../info_sda
rpm -qa | sort > /...../info_rpms
rpm -qa --qf "%{ARCH} \t %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -k2,2 > /........./info_rpms_arch
А также монтирование любых "необязательных" пользовательских файловых систем.
Вот полные шаги для другого метода, работающего для перехода с одного жесткого диска на другой, и даже клонирования машины, если оборудование аналогично.
Сначала создайте образ хорошей работающей системы. Сделайте это как root.
# cd /
# tar cpzf hostname.tgz / --exclude=hostname.tgz --exclude=proc --exclude=lost+found --exclude=mnt --exclude=sys --exclude=home --exclude=usr/src
Сделайте резервную копию образов ядра
# mount /boot
# cd /boot
# tar cpzf boot.tgz *
Загрузите компьютер, на котором вы хотите развернуть образ, с помощью live cd/gentoo cd. Смонтируйте этот жесткий диск и разбейте его соответствующим образом:
# fdisk /dev/hda
/dev/hda1 /boot
/dev/hda2 swap
/dev/hda3 /tmp
/dev/hda4 /
Добавить файловые системы
# mke2fs /dev/hda1
# mkswap /dev/hda2
# mke2fs -j /dev/hda3
# mke2fs -j /dev/hda4
Крепление дисков:
# mount /dev/hda4 /mnt/new_root
# mkdir /mnt/new_root/tmp
# mkdir /mnt/new_root/boot
# mkdir /mnt/new_root/proc
# mkdir /mnt/new_root/sys
# mount /dev/hda3 /mnt/new_root/tmp
# mount /dev/hda1 /mnt/new_root/boot
# swapon /dev/hda2
# mount -t proc proc /mnt/new_root/proc
Скопируйте файл hostname.tgz на этот компьютер.
Распакуйте его в корень новой машины /mnt /new_root
# tar -xzf hostname.tgz
Chroot в новую среду.
# chroot /mnt/new_root /bin/bash
# env-update && source /etc/profile
Проверьте /boot/grub/grub.conf и /etc /fstab
Настройка grub на жесткий диск:
# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install /dev/hda
Выйдите и размонтируйте диски, перезагрузите машину.
Вы можете делать снимки в Linux, используя LVM, менеджер логических томов.