Ubuntu создание резервной копии. Как настроить резервное копирование в Linux Ubuntu

Я работаю в организации с маленьким штатом, деятельность тесно связана с IT и у нас возникают задачи по системному администрированию. Мне это интересно и частенько я беру на себя решение некоторых.

На прошлой неделе мы настраивали FreePBX под debian 7.8, нанимали фрилансера. В процессе настройки оказалось, что сервер (да, я так называю обычный PC) не хочет грузится с HDD при подключенных USB 3G модемах, которые мы используем для звонков на мобильные, колупание BIOSа не помогло. Непорядок. Решил, что нужно перенести его на другую железяку. Так появилось сразу две связанные задачи:

  • сделать бэкап сервера;
  • восстановить бэкап на другом железе.
Гугление не дало внятных ответов, как это сделать, пришлось собирать информацию кусками и пробовать. Всякие acronis’ы отбросил сразу, ибо не интересно.

Опыт общения с linux-системами у меня небольшой: настройка VPN сервера на open-vpn, ftp-сервера и еще пара мелочей. Сам себя я характеризую как человека умеющего читать маны и править конфиги:)

Ниже я описываю свой частный случай и почему я поступил именно так. Надеюсь, новичкам будет полезно, а бородатые админы улыбнутся вспомнив молодость.

Начинаем копать теорию:
По созданию бэкапов уйма статей, я для себя отметил два способа: tar - упаковывает и сжимает все файлы, при этом не сохраняется MBR, мой бэкап будет весить около 1.5 Gb; - делает полную копию раздела, включая MBR и всю область, где нет файлов, архив будет равен размеру раздела, в моем случае ~490 Gb.

Второй способ требует наличия внешнего жесткого диска объемом не меньше раздела, который архивируем. Да и что с ним потом делать, непонятно, хранить на полочке? Остановился на tar, чуть сложнее в реализации, нужно будет создать MBR, но время создания/восстановления архива существенно меньше, хранить бэкап проще, полтора гига можно закинуть в облако и скачать, когда будет нужно. Записывать его можно на ту же live-флэшку, с которой буду грузиться.

Итак, план действия:
  1. создание бэкапа;
  2. форматирование, разметка диска, создание файловой системы;
  3. восстановление бэкапа;
  4. создание MBR;
  5. тестирование и устранение неполадок.

1. Создание бэкапа

Грузимся с live-флэшки, у меня это debian-live-7.8.0-amd64-standard.

Переключаемся на root:

Sudo su
Монтируем раздел, который будем архивировать, у меня это sda1, чтобы случайно не наломать дров, монтируем только для чтения. Посмотреть все свои разделы можно при помощи команд ls /dev | grep sd или df -l

Mount -o ro /dev/sda1 /mnt
Наша флэшка уже примонтирована, но в режиме только чтения, нужно перемонтировать для чтения-записи, чтобы писать туда бэкап.

Mount -o remount,rw /dev/sdb1 /lib/live/mount/medium
Все готово для создания архива

Tar -cvzpf /lib/live/mount/medium/backupYYYYMMDD.tgz --exclude=/mnt/var/spool/asterisk/monitor --exclude=/mnt/var/spool/asterisk/backup /mnt/
Здесь у нас параметры: c - создать архив, v - выводить информацию о процессе, z - использовать сжатие gzip, p - сохраняем данные о владельцах и правах доступа, f - пишем архив в файл, путь к файлу, --exclude - исключаем из архива каталог (я исключил каталоги с записями разговоров и каталог с бэкапами FreePBX), /mnt/ - каталог, который архивируем.

Ждем… у меня вся подготовка и создание архива заняли 10 минут. Будь флэшка быстрее, уложился бы в 7-8 минут.

Отмонтируем диск:

Umount /mnt
… и перезагружаемся.

Reboot
Складываем архив в надежное место за пределами офиса.

Восстановление бэкапа на другом железе

2. Размечаем диск, создаем файловую систему
Грузимся с live-флэшки, у меня все та же debian-live-7.8.0.

Переключаемся на root:

Sudo su
Размечаем диск. Мне понравилась утилита с псевдографическим интерфейсом cfdisk. Там все просто и понятно.

Cfdisk
Удаляем все имеющиеся разделы. Я создал два новых раздела, один на 490 Gb под / (sda1) и 10 Gb под swap (sda2) в конце диска, т.к. он практически не будет задействован. Проверим типы разделов. Который под систему должен иметь тип 83 Linux, второй - 82 Linux swap / Solaris. Помечаем системный раздел загрузочным (bootable), сохраняем изменения и выходим.

Cоздаем файловую систему на первом разделе.

Mkfs.ext4 /dev/sda1

3. Распаковываем архив.
Монтируем отформатированный раздел

Mount /dev/sda1 /mnt
Распаковываем архив прямо с флэшки

Tar --same-owner -xvpf /lib/live/mount/medium/backupYYYYMMDD.tgz -C /mnt/
Параметр --same-owner - сохраняет владельцев у распаковываемых файлов, x - извлекаем из архива, v - выводить информацию о процессе, p - сохраняем права доступа, f - указываем файл, который распаковываем, C - распаковываем в категорию.

4. Создаем MBR на новом диске.
Чтобы корректно создать загрузочную запись, монтируем рабочие каталоги к нашему будущему root-каталогу, у меня это /mnt. Каталоги /dev и /proc сейчас используются live-системой, используем параметр bind, чтобы они были доступны сразу в двух местах:

Mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc
Переключаемся на новую систему используя chroot:

Chroot /mnt
Делаем swap-раздел для новой системы:

Mkswap /dev/sda2
Подключаем его же:

Swapon /dev/sda2
Чтобы grub работал, нужно указать ему правильные UUID разделов в fstab, сейчас там прописаны разделы предыдущей системы:

Nano /etc/fstab
Открываем второй терминал (Alt+F2) под root:

Sudo su
Вызываем:

Blkid
И видим текущие UUID разделов.

Вручную переписываем их в fstab переключаясь между Alt+F1 и Alt+F2. Да, муторно, но попытки копировать занимали у меня больше времени, чем переписывание. Сохраняем fstab.

Устанавливаем grub2. У меня один физический диск, поэтому ставим его на sda:

Grub-install /dev/sda
На чистый диск должно встать без ошибок. Обновляем информацию из fstab:

Update-grub
Возвращаемся в Live-систему:

Exit
Размонтируем все каталоги:

Umount /mnt/dev umount /mnt/proc umount /mnt
Если вылазят процессы, которые используют эти каталоги, убиваем их используя fuser.

Все, поехали. Грузимся с жесткого диска:

Reboot
Здесь статья должна была закончиться, но у меня возникли проблемы с подключением к интернету. Сервер видит сеть, видит компьютеры в ней, но в интернет не ходит… а это как бы важно для телефонии.

5. Тестирование и устранение неполадок.
ifconfig -a
Показывет интерфейсы eth1 и lo, гугление сказало, что gateway можно прописать только подключению eth0, остальные рассчитаны только на работу внутри сети.

Похоже, отсутствие eth0 вызвано способом переноса системы. Находим файл, который отвечает за нумерацию интерфейсов, смотрим туда:

Nano /etc/udev/rules.d/70-persistent-net.rules
Действительно, там два активных интерфейса, определенных MAC’ами. Комментируем первый, второму прописываем eth0.

Перезапуск /etс/init.d/networking не помог, поэтому перезагружаемся:

Reboot
Подключаем донглы, проверяем, все работает.
Спасибо за внимание.

Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

Программ для резервного копирования в среде Linux действительно не так уж много. Часть из них для домашнего использования не очень пригодна, так как они не всегда просты в настройке, хоть и позволяют делать резервное копирование и архивацию сотен серверов. Но нам ведь нужно всего ничего — надёжно сохранить свои файлы. По-хорошему, все важные данные должны храниться отдельно от системы, а ещё лучше — на другом физическом диске. Что касается самой ОС, то, как правило, нужно делать бэкапы для корневых каталогов home да etc и изредка некоторые подкаталоги из var или usr/local. Идеальный вариант — регулярное снятие образа всей системы. Впрочем, начать стоит хотя бы с документов. Нам даже не придётся устанавливать дополнительное ПО, так как в последней версии Ubuntu по умолчанию ставится утилита Déjà Dup. Ей-то мы и займёмся.

Déjà Dup

Эта программа играет роль стандартной системы резервного копирования (наподобие той, что встроена в Windows 7), начиная с Ubuntu 11.10. К сожалению, многие пользователи не то что не хотят ставить какие-то дополнительные утилиты для бэкапа, но и встроенными в ОС возможностями не пользуются. Как правило, до первой серьёзной потери своих данных. Немного спасают сервисы облачной синхронизации данных. В них можно хранить и резервные копии для пущей надёжности. По умолчанию Déjà Dup использует для этих целей Ubuntu One , в котором бесплатно даётся 5 Гбайт.

Чтобы включить Déjà Dup, кликните по значку с шестерёнкой в правом верхнем углу основной панели, выберите пункт «Параметры системы…» и перейдите в раздел «Резервное копирование» — это и есть настройки Déjà Dup. В разделе «Носитель» указывается то место, куда будут складываться резервные копии. Утилита умеет копировать данные на FTP, SFTP, ресурсы WebDAV, в общую папку Windows (SMB) или же в любой каталог на локальной машине, а он, в свою очередь, вполне может принадлежать, например, Dropbox.


Пользователь волен добавить свои папки, которые попадут в архив, а также исключить ненужные каталоги. Можно включить автоматическое резервирование и задать срок хранения архивов. После окончания настройки рекомендуется сделать первую копию самостоятельно, а потом включить автоматический бэкап. Если вы выбрали хранение копий в Ubuntu One, то вас попросят авторизоваться. Также резервные копии можно защитить паролем. Обратите внимание, что Déjà Dup создаёт инкрементальные бэкапы, то есть сохраняются только изменённые с последнего момента синхронизации файлы.

Для хранения данных в облаках Amazon S3 или Rackspace надо дополнительно установить пакеты python-boto и python-rackspace-cloudfiles. Оба можно найти в «Центре приложений Ubuntu». Для восстановления файлов из резервной копии надо снова обратиться к разделу «Резервное копирование» в параметрах системы. Нас спросят, откуда мы будем восстанавливать данные, предложат выбрать дату и время нужного бэкапа, а также указать папку, куда будут скопированы резервные копии.

Чуть интереснее выглядят другие возможности Déjà Dup — восстановление удалённых файлов и откат к предыдущим версиям файла. Обе они интегрированы в стандартный файловый менеджер и доступны в меню «Файл» и «Правка» соответственно. Для того чтобы ими воспользоваться, надо перейти в нужную директорию или выбрать необходимый файл. Естественно, для работы этих функций должны иметься резервные копии, из которых и будет происходить восстановление или откат.

⇡ Back In Time

Если вам нужна чуть большая гибкость в настройке бэкапов, то можно воспользоваться утилитой Back In Time. Установить её можно всё в том же центре приложений, где вы найдёте версии GUI для KDE и GNOME. После установки появятся два ярлыка для запуска программы — c root-правами и без них. Первый вариант нужен только при работе с папками, к которым у вас нет прав доступа. При первом запуске откроется окно настроек. Утилита позволят создавать несколько профилей с различающимися настройками. Для начала надо будет указать каталог, куда будут сохраняться резервные копии, и частоту их создания. Затем выбрать сохраняемые папки и файлы, а также исключения. Для исключений можно задавать шаблоны имени файла или папки.

Главная же фишка Back In Time — это умное управление архивами с резервными копиями. Она также делает инкрементальные бэкапы. Автоматическое удаление архивов можно настроить так, чтобы у вас всегда были копии за разные периоды времени, но при этом место на накопителе не тратилось впустую. Среди прочих полезных опций стоит отметить возможность отслеживать изменения в файлах путём подсчёта хеш-сумм. Только учтите, что при большом числе часто меняющихся данных, а в особенности если эти данные присутствуют в виде очень больших файлов, данная опция будет создавать серьёзную нагрузку на систему.

Ну а дальше всё просто — утилита будет сама создавать бэкапы. Можно, конечно, и самому в любой момент запустить процесс резервного копирования. Все копии отображаются в виде списка в левой части окна — выбираете любую и восстанавливаете файлы и папки из неё. Back In Time по сути является удобной надстройкой над rsync. Если вам не нужны все её возможности, то используйте утилиты попроще и без автоматизации. Например, GRsync.

⇡ Duplicati

Эта кроссплатформенная утилита умудряется несколько чужеродно выглядеть во всех трёх ОС — Windows, Linux, Mac OS. Впрочем, на основных функциях это не сказывается. В стандартных репозиториях её нет, поэтому придётся скачать deb-пакет для Ubuntu и вручную установить его. Первый запуск сопровождается появлением мастера настройки бэкапа. Как обычно, нам предлагают задать его имя, выбрать резервируемые папки и файлы. Для пущей безопасности все архивы можно зашифровать в AES-256 и сгенерировать случайный и надёжный пароль. Он хоть и сохраняется в настройках программы, но всё равно нелишним будет записать его куда-нибудь.



Главная ценность Duplicati — это возможность сохранять архивы во множестве облачных сервисов, а точнее работа с API самых популярных из них и их совместимых клонов. Мы уже когда-то рассматривали использование Amazon S3 в качестве файлохранилища при работе в Windows. В качестве примера настроим Duplicati для работы с этим облаком. Нам нужны ключи доступа (Access Keys), которые можно найти в разделе Security Credentials вашего аккаунта . Копируем их в соответствующие поля, выбираем имя для нового bucket, регион размещения и, если хочется, включаем использование RRS. Нажимаем Test Connection и соглашаемся с переименованием bucket.


Помимо облачных сервисов для хранения данных, Duplicati может использовать локальные папки и FTP/SFTP/WebDAV-ресурсы, а также крайне любопытную распределённую P2P-файловую систему Tahoe-LAFS . Дальнейшие настройки профиля бэкапа — а именно: частота создания резервных копий и их тип (инкрементальные и/или полные), автоудаление старых копий, ограничения на занимаемую ширину канала и размеры файлов архива — совпадают для любого типа хранилища. Временные интервалы в этих параметрах указываются в секундах.



Для резервирования можно выбирать отдельные папки и файлы или, наоборот, исключать часть из них. В качестве шаблона для их имён не возбраняется использовать регулярные выражения. После завершения работы мастера откроется основное окно программы, где надо будет перейти в настройки (Options) и на первой вкладке указать в качестве используемого языка English, иначе в системах с русской локалью могут возникнуть некоторые проблемы. На вкладке SSH укажите путь до SFTP (/usr/bin/sftp).


Дальнейшая работа с утилитой сводится к запуску мастера, который поможет создать новый профиль для бэкапа, отредактировать или удалить уже имеющиеся профили, а также запустить процесс восстановления данных из резервной копии или же ручного создания оной. Опции восстановления стандартны — выбор профиля, даты и времени архива, отдельных файлов и папок, а также места, куда они будет восстановлены. Рекомендуем попробовать Duplicati обладателям не только Linux, но и других ОС.



Резервное копирование системы очень важно, поскольку если у вас есть резервная копия всех файлов, настроек или даже системы полностью, то вы можете ее восстановить в случае возникновения проблем. Несмотря на стабильность Linux, эта система может ломаться, например, после обновления или когда вы экспериментировали и сделали что-то не так.

Если вы делаете резервное копирование Ubuntu, то потом сможете все очень просто восстановить, даже если система была почти убита. Уже существует множество программ для создания резервных копий как файлов, так и всего диска, одна из самых популярных из них - это . Но мы не будем их сегодня рассматривать. В этой статье мы поговорим о том, как выполнить резервное копирование системы без сторонних программ, с помощью системных команд. Это может быть полезнее в некоторых случаях.

Рассмотрим самые распространенные способы копирования среди администраторов и обычных пользователей.

Способ 1. Список пакетов

Самый простой способ резервного копирования Ubuntu, кстати, именно эту возможность использует MintBackup в LinuxMint, это получение списка всех установленных пакетов. Да, тут вы не сохраните всю конфигурацию, зато сможете очень быстро восстановить все установленные программы.

Если учесть, что большинство конфигурационных файлов находятся в домашней папке пользователя, а она не стирается при переустановке, то остальные файлы не такая уже большая проблема. А такая резервная копия будет занимать всего несколько килобайт. Для выполнения резервной копии наберите такую команду:

dpkg --get-selections | grep -v deinstall > backup.txt

sudo dpkg --set-selections < backup.txt

sudo apt-get -y update
$ sudo apt-get dselect-upgrade

Файл со списком пакетов нужно поместить в текущую папку. Таким образом, вы очень быстро вернете все ранее установленные программы с минимальными затратами времени и в то же время получите чистую систему.

Способ 2. Создание архива

Резервное копирование таким способом более надежно, поскольку вы не просто создаете список установленных программ, а делаете архив из всей файловой системе. Фактически, вы можете потом развернуть этот архив на любой машине и получить полноценную операционную систему после настройки драйверов.

Таким способом часто создаются резервные копии систем на серверах и для него достаточно просто использовать утилиту tar и не нужны сторонние программы. Для создания архива используйте такую команду:

sudo tar czf /backup.tar.gz --exclude=/backup.tar.gz --exclude=/home --exclude=/media --exclude=/dev --exclude=/mnt --exclude=/proc --exclude=/sys --exclude=/tmp /

В этой команде все достаточно просто несмотря на ее запутанность. Опция c означает, что нужно создать архив (Create), z - включает сжатие Gzip. Затем с помощью опции -f мы указываем файл, в который нужно сохранить результат. Затем с помощью серии опций --exclude мы исключаем из архива сам файл архива, домашний каталог и директории с виртуальными файловыми системами. В самом конце указываем папку, с которой стоит начать сбор данных - /. Вот и все. Процесс займет очень много времени, но когда он завершится, вы получите полную резервную копию системы в корневом каталоге.

Если система повреждена, вам нужно загрузиться с LiveCD/USB, и примонтировать корневой каталог в /mnt/. Затем подключите носитель с резервной копией и выполните команду для распаковки:

sudo tar xf /run/media/имя_носителя/backup.tar.gz -C /mnt

Команда быстро распакует все, что было сохранено и вам останется только перезагрузить компьютер, чтобы вернуться к своей основной системе. Здесь не восстанавливается только загрузчик, нужно отдельно если он был поврежден.

Способ 3. Резервное копирование в rsync

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

rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /папка/назначения

Набор опций -aAX включают передачу в режиме архива, что гарантирует полное копирование символических ссылок, устройств, разрешений и расширенных атрибутов, при условии, что их поддерживает целевая файловая система. Опция --exclude, как и раньше, исключает из копии виртуальные файловые системы.

После завершения копирования вам останется отредактировать /etc/fstab и заменить в нем адрес корневого раздела на новый. А также создать новый конфигурационный файл для загрузчика, автоматически или вручную.

Способ 4. Создание образа раздела

Позволяет создать полную копию раздела или даже всего диска. Это самый надежный, но в то же время потребляющий большое количество памяти способ выполнить резервное копирование системы Ubuntu. Утилита просто переносит весь диск по одному байту в образ. Команда выглядит вот так:

sudo dd if=/dev/sda4 of=~/backup.img

Здесь /dev/sda4 - это ваш корневой раздел. После завершения выполнения команды вы получите готовый образ, затем, чтобы восстановить систему из этой копии достаточно поменять опции местами и указать путь к файлу копии:

sudo dd if=~/backup.img of=/dev/sda4

Правда, процесс может занять достаточно много времени, в зависимости от скорости работы вашего диска.

Способ 5. Создание Squashfs образа

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

sudo mksquashfs / /root-backup.sqsh -e root-backup.sqsh home media dev run mnt proc sys tmp

Теперь, чтобы примонтировать созданный образ будет достаточно набрать такую команду:

sudo mount /root-backup.sqsh /mnt/ -t squashfs -o loop

А уже отсюда вы можете извлечь любой файл или перенести все это в реальную файловую систему с помощью cp -p.

Выводы

Резервное копирование Ubuntu 16.04 очень важно для поддержания вашей операционной системы в нормальном состоянии. В случае любой неожиданной ситуации вы сможете все восстановить. Если вас интересуют графические программы для бэкапа, вы можете попробовать remastersys или

Для работы над проектами использую svn, который находится на удаленном виртуальном выделенном хосте, под управлением ubuntu 8.04. Со временем объемы данных выросли, как и критичность этих данных. Потеря чего-то снилась в кошмарах. Время от времени копировал репозитории на локальный компьютер. Недавно мне это надоело. И я стал искать возможности автоматизировать это дело. Не буду говорить о поисках и вариантах, расскажу о результатах.

Итак, мы имеем удаленный хост под управлением ubuntu, с некоторым массивом довольно критичных данных. Довольно логичным было бы настроить бэкап прямо на удаленном хосте, с помощью tar по крону, rsyns и т.д. Но, т.к. место на виртуальном выделенном хостинге довольно дорого и использовать его лучше по делу, идеально было бы, чтобы данные автоматически копировались на какую нибудь локальную машину, место на которой хоть отбавляй. В моем случае это файловый сервис в офисе, под управлением все той же Ubuntu.

Установка

Устанавливаем rsnapshot:

$ sudo apt-get install rsnapshot

Если вы используете не debian-подобный дистрибутив, rsnapshot наверняка тоже есть в репозиториях вашего дистрибутива. Для CentOS, при включенных RPMForge это делается, например, так:

# yum install rsnapshot

Теперь нам нужно создать директорию, где мы собираемся хранить наши «снимки»:

$ sudo mkdir /var/snapshots

Настройка

Теперь можно перейти к настройке, собственно, rsnapshot:

$ sudo nano /etc/rsnapshot.conf

Вместо nano вы можете использовать любой другой редактор, например vi, или gedit, если работаете в GNOME.
Настроить нужно следующие параметры:

Snapshot_root - директория, в которую вы хотите сохранять "снимки".

Interval xxx yy - ххх - название интервала(например hourly, daily), yy - количество снимков для каждого. Например:
interval hourly 6
interval daily 7

Означает, что мы хотим хранить 6 ежечасных копий и 7 ежемесячных. Если уже доступно указанное количество копий, rsnapshot будет заменить старую более новой.

Расскомментируйте cmd_cp. cmd_ssh расскоментируйте и измените на

Cmd_ssh /usr/bin/ssh

Настройка бэкапа осуществляется командой backup <откуда> <куда>:

#Добавляем папку /etc/ с локальной машины в папку localhost/
backup /etc/ local/
#Добавляем папку /var/svn с удаленной машины в папку remotehost/
backup [email protected]:/var/svn/ remotehost/

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

Пробный запуск

Запустим rsnapshot:
$ rsnapshot hourly

Второй параметр означает интервал, который мы задали в конфигурационном файле.
Команда может выполняется продолжительное время. После выполнения, смотрим, что она создала:
$ ls -l /var/snapshots

Пока что в директории должен быть один каталог: hourly.0. При следующем запуске rsnapshot будет создавать каталоги hourly.1, hourly.2 и т.д., пока не упрется в максимум, указанный нами в конфигурационном файле.

Настройка cron

В Ubuntu автоматически создается файл /etc/cron.d/rsnapshot со следующим содержанием:
0 */4 * * * root /usr/bin/rsnapshot hourly
30 3 * * * root /usr/bin/rsnapshot daily
0 3 * * 1 root /usr/bin/rsnapshot weekly
30 2 1 * * root /usr/bin/rsnapshot monthly

Вот и все. Теперь у вас 6 раз в сутки должен автоматически создаваться снимок данных с вашего удаленного сервера. Данные в сохранности, да еще и географически распределены.

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

Дополнительная информация

С помощью параметра backup_script можно также настроить резервное копирование баз данных MySQL, да и вообще всего, чего угодно. Я не описывал сей процесс, т.к. у меня он не используется и ничего конкретного сказать не могу.
Подробнее можно почитать в гугле. По запросу rsnapshot вылезает куча релевантных ссылок, правда на английском языке.

Многие задаются вопросом о том как сохранить собственные настройки системы, и личные данные так, чтобы потом в случае непредвиденных обстоятельств можно было их легко восстановить. Насколько мне известно в Windows и Mac OS X с этим проблем нет, так как средства для резервоного копирования предустановлены в обоих операционных системах. Ни в одном дистрибутиве Linux опробованных мной я не видел инструментов по умолчанию идущих с системой предоставляющих такой функционал. Если быть точным, то средства для резервного копирования в Linux есть по умолчанию, но не все новички знают о них и тем более не знают как использовать эти инструменты.

Существует три основных способа для создания резервной копии данных и системы в Linux

  • Использование архиватора для создания сжатой копии системы
  • Снятие образа жесткого диска
  • Использование специальных, дополнительных утилит

На мой взгляд первый способ самый универсальный и применим практически в любой ситуации. Достоинства этого метода в том, что архив с резервной копией занимает не так уж много места и существует возможность выбора что включать в бэкап, а что исключить.
Для первого способа нам потребуется целевая система установленная на разделе/разделах жесткого диска и флешка/DVD диск с Live системой. Например Live CD с которого Вы ставили систему. Стоит заметить, что потребуется также раздел на который нужно сохранить данные. Его также нужно примонтировать
Итак предположим что ОС установлена на первом разделе первого жесткого диска (/dev/sda1). Загружаемся с Live CD и монтируем этот раздел скажем в /mnt

Sudo mount /dev/sda1 /mnt

Монтируем раздел на котором предполагается разместить бэкап

Sudo mkdir /backup sudo mount /dev/sda3 /backup

Используемая в Linux команда ls -a /mnt поможет проверить тот ли раздел мы смонтировали. Если вышла ошибка, то следует запустить cfdisk и найти нужный раздел после чего примонтировать его как показано выше.
Далее переходим в директорию примонтированного раздела с системой и смотрим какие директории в ней мы будем бэкапить.

Cd /mnt ls -a

Увидев список директорий включаем нужные в бэкап.

Sudo su tar -cvjpf /backup/Backup.tar.bz2 bin boot dev etc home lib lib32 lib64 media mnt opt proc root sbin sys tmp usr var

Если у Вас немного другой набор директорий, например отсутствуют каталоги lib32 и lib64, то советую просто архивировать все директории созданные не Вами. С директориями созданными Вами поступайте на свое усмотрение. В некоторых мануалах советуют исключить из бэкапа /proc, /dev, /sys, но я наученный собственным опытом скажу, что этого делать не стоит. Бэкап должен быть полным и включать все системные директории. При монтировании директорий с виртуальными файловыми системами таких как /proc и /sys их содержимое окажется пустым, но это избавит Вас от создания их вновь и присвоения им правильных разрешений (прав). Результатом выполнения этих действий будет появление в целевой директории /backup архива Backup.tar.bz2 содержащего резервную копию системы которую всегда можно восстановить.

Для того чтобы рекурсивно затарить все директории и файлы в текущей директории нужно:

Tar -cvjpf /backup/Backup.tar.bz2 .

Обращаю внимание, что символ "." это не опечатка. В данном случае содержимое архива не будет иметь абсолютных путей и предпочтительнее, особенно в процессе восстановления.
Для того чтобы исключить какие либо файлы и директории из создаваемого бэкапа нужно их указать. Исключение возможно как файлов, так и директорий, а также по паттернам. Подробнее читайте в man tar.

Tar -cvjpf /backup/Backup.tar.bz2 . --exclude=cisco.jpg --exclude=folder

Восстановление бэкапа тоже дело не хитрое. Для успешного восстановления нам понадобится все тот же Live CD, сам бэкап и некоторое количество времени. Загружаемся с Live CD и монтируем разделы по уже известной схеме описанной выше. Если Вы не переносите бэкап на другой жесткий диск, то имеющуюся систему нужно предварительно удалить.

Sudo rm -rf /mnt/*

Копируем архив с бэкапом на целевой раздел

Sudo su cp /backup/Backup.tar.bz2 /mnt/

Переходим в нашу будущую систему и разархивируем бэкап

Cd /mnt tar -xvjpf Backup.tar.bz2

Перейдем к другому способу который менее удобен по причине возможно большого размера образа и невозможностью выбросить из него заведомо ненужных данных. Плюс же этого способа состоит в том, что созданный образ является абсолютно точной копией существующей системы повторяющий и файловые системы и все данные в них содержащихся. Данный способ еще используют для дефрагментации файловых систем которые не имеют собственных утилит для этого.
В этом способе нужно загрузиться с Live CD и примонтировать раздел диска на который мы хотим сохранить образ. Монтировать раздел системы который мы хотим забэкапить - монтировать не нужно! Прошу обратить на это внимание. Создаем образ следующей командой

Sudo su dd if=/dev/sda1 bs=8M of=/backup/Backup.img

Если раздел был большой, то запасаемся терпением и идем пить чай/кофе или что то покрепче пока выполняется создание образа. Главное не пить "чего то покрепче" в больших количествах перед его восстановлением.
Восстановление еще проще: Нужно загрузиться с Live CD, примонтировать раздел на котором лежит бэкап и восстановить его командой (при условии что восстанавливаемая система по прежнему на /dev/sda1. Ошибки в лучшем случае грозят потерей коллекции прона тщательно отобранного Вами за последние годы проведенные в стадии полового созревания, а в худшем - разбитием монитора клавиатурой когда Вы осознаете чего лишились:-D).

Dd if=/backup/Backup.img bs=8M of=/dev/sda1

После завершения выполнения задачи Вы получите точную копию той системы которая была на момент создания резервной копии.

Третьим способом создания/восстановления резервных копий я абсолютно не пользовался за ненадобностью. Могу лишь предположить, что используя этот метод Вам не удастся контролировать содержимое бэкапа и такой софт потянет еще множество различных зависимостей нужных для его работы. Если все вышеописанное показалось Вам сложным, то можно попробовать самостоятельно найти в Google или репозитории использумомого дистрибутива такой софт. На вскидку можно посоветовать