13 марта 2012

Как сделать полную резервную копию системы с помощью терминала в Ubuntu / Linux


В этой инструкции я хочу показать, как использовать терминал для резервного копирования наших системных файлов и папок в одном сжатом архивном файле (мы будем использовать формат bz2). Команда, которую мы собираемся использовать исключит ненужные папки из процесса резервного копирования. Создание полной резервной копии системных файлов и папок позволит вам восстановить их позже в случае возникновения неожиданных неприятностей с системой.

Приступим

Архивный файл, который мы собираемся создать, будет храниться в папке "backup", в домашнем каталоге. После создания резервной копии вашей системы вы можете переместить её в любое другое место на ваш выбор: жёсткий диск или в "облаке" (Ubuntu One, Dropbox и т.д.).

Откройте терминал (Ctrl + Alt + T) и выполните следующую команду, чтобы создать папку, в которую мы хотим сохранить файл резервной копии:

mkdir ~/backup && cd ~/backup

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

tar cvpjf backup.tar.bz2 --exclude=/proc4 --exclude=/mnt --exclude=/sys / --exclude=/lost+found --exclude=/tmp --exclude=/backup.tar.bz2

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

nautilus ~/backup

Восстановить систему можно, выполнив следующую команду:

tar xvpfj backup.tar.bz2 -C /

Или этой командой, где указан полный путь к файлу:

tar xvpfj ~/backup/backup.tar.bz2 -C /

Вот и все.

Удачи.

24 комментария :

  1. И как сие понимать???
    ~/backup и тут же --exclude=/backup.tar.bz2

    ОтветитьУдалить
    Ответы
    1. backup - резервное копирование, в данном случае обозначение директории(~/backup).
      --exclude=/backup.tar.bz2 - в каком формате.
      В начале статьи есть пояснение "копирование наших системных файлов и папок в одном сжатом архивном файле (мы будем использовать формат bz2)".
      Или я что-то не так понял?

      Удалить
    2. Именно не так. Вы указали директорию ~/backup, а исключили не ~/backup.tar.bz2, а /backup.tar.bz2, которого не будет, так как - mkdir ~/backup && cd ~/backup. Кроме того ~/backup.tar.bz2 будет сам себя в себя копировать, ведь /home тоже копируется.

      Удалить
  2. Может, стоит бэкап делать в одну из исключаемых из резервирования папок, например, в /tmp ?
    И хотелось бы получить окончательный ответ от автора на поставленные вопросы.

    (White_Wolf)

    ОтветитьУдалить
    Ответы
    1. 1. Папка /tmp, это временная папка, которая служит на время текущего сеанса и после перезагрузки компьютера вы скорее всего не найдёте в ней нужного вам файла.
      2. По поводу backup. В команде указано исключение /backup.tar.bz2, т.е.исключение копирования файла в самого себя, ведь самое начало команды следующее: tar cvpjf backup.tar.bz2 - распаковка. Вот и всё. Я выполнил эти команды на моём компьютере и всё работает. Можете проверить.

      Удалить
    2. Внесу поправку: Да, сам файл backup.tar.bz2 сжимается сам в себя, несмотря на строчку --exclude=/backup.tar.bz2

      Причина: - считается почему-то не текущий каталог, а если считать из корневого. Поэтому если бэкап создаётся в папке вашего пользователя, то нужно буквально указывать путь, типа --exclude=/home/Ваш_Юзер/backup

      Почему?

      потому что остальные команды явно указывают на каталоги, находящиеся не в каталоге вашего пользователя, смотрите сами:

      --exclude=/proc4 --exclude=/mnt --exclude=/sys / --exclude=/lost+found --exclude=/tmp

      Это всё в КОРНЕВОМ каталоге /

      Удалить
  3. А я clonezilla пользуюсь на случаи сбоев - не заменимая вещь!!!!!!!

    ОтветитьУдалить
  4. А как такой бэкап сделать только на внешний жёсткий диск?

    ОтветитьУдалить
  5. Сделать бэкап на жёсткий диск, скопировать на флешку и перенести на внешний жёсткий диск. Как-то так.

    ОтветитьУдалить
  6. При использовании команд выше бэкап создаётся с ошибкой,по крайней мере у меня. Нет доступа к папке root и lost+found.

    ОтветитьУдалить
    Ответы
    1. Запускайте в консоли под суперпользователе (root) - тогда всё пашет.

      Удалить
  7. Так, как новичек вообще в этом деле, хотел спросить: при востановлении сохранятся все настройки комфиз, тема, значки или просто востановится система, при установке? И как нужно востанавливать? С безопасного режима?
    Ну извините и не смейтесь-я нуб(пока, что))))

    ОтветитьУдалить
  8. sudo apt-get install fsarchiver - есть в дистрибутиве clonezilla
    sudo fsarchiver probe && fsarchiver --help
    Теперь,допустим,что имеется локальный или внешний диск с меткой "DATA" ^
    sudo mkfs.ext4 -L "DATA" /dev/sdXY - где X & Y буква и номер форматируемого раздела
    sudo mkdir /media/DATA
    sudo chown user /media/DATA
    sudo chmod +rwxrwxrwx /media/DATA
    sudo mount /dev/sdXY /media/DATA
    sudo fsarchiver -j2 -v savefs /media/DATA/UBU.fsa /dev/sdXY - где X & Y буква и номер сохраняемого раздела
    и обратно :
    sudo fsarchiver probe
    sudo fsarchiver -j2 -v restfs /media/DATA/UBU.fsa id=0,dest=/dev/sdXY - где X & Y буква и номер целевого,отформатированного раздела
    sudo update-grub && sudo reboot - и бэкап и восстановление системы могут производиться из другой,установленной на соседнем локальном разделе системы Linux(Fedora,Debian,Mint,Ubuntu,openSUSE,Mandriva,Gentoo...)
    ЗЫ:при востановлении сохранятся все настройки комфиз, тема, значки и,вообще - всё,как было,только внести исправления в файл /etc/fstab в восстановленной системе...

    ОтветитьУдалить
  9. Ещё проще:
    sudo apt-get install squashfs-tools unionfs-fuse aufs-tools mhddfs
    sudo mksquashfs / /где/то/у/вас/ubu.squashfs - делаем бэкап
    sudo unsquashfs -d /пустой/раздел /где/то/у/вас/ubu.squashfs - отформатируйте подходящий по размеру раздел,примонтируйте и разверните на него бэкап.
    profit:))

    ОтветитьУдалить
  10. Никто, кстати, не знает почему, если в команде tar написать --exclude/$HOME, то он вылетает с сообщением "Нельзя создать пустой архив"?

    ОтветитьУдалить
  11. ребят а не проще быстрее лень сделать просто поставить squashfs-tools вбить в терминале сперва sudo su и потом mksquashfs /bin /boot /dev /etc /home /lib /media /mnt /opt /proc /root /sbin /selinux /srv /sys /tmp /usr /var filesystem.squashfs , причем очень хорошее сжатие и вся ос сожметься примерно в 1-1,1 гиг без LZMA если не слишком мусорили в нее и быстрее и потом при слете взять лайв сиди какойнибудь с unsquashfs и mksquashfs либо ту же убунту и там уже sudo apt-get install squashfs-tools, пересоздать таблицу разделов, форматнуть раздель, примонтировать все куда надо и ввести unsquashfs filesystem.squashfs. Файл желательно на флешку запихнуть и оттуда его распаковывать в / , и поставить граб и создать конфиг файл со строчкой загрузки либо на флешку grub.cfg от старой и в "новую" и все больше ничего и кстати архивчик не изменить потом такчто пока жмет не лазьте никуда лучше кофе идите попейте.

    ОтветитьУдалить
  12. Спасибо за наводку)) Но пошло дублирование архива в себя.
    Я сделал так :
    sudo su
    mkdir /tmp/backup && cd /tpm/backup
    tar cvpjf /tmp/backup/backup.tar.bz2 --exclude=/proc4 --exclude=/mnt --exclude=/sys / --exclude=/lost+found --exclude=/tmp --exclude=/backup.tar.bz2
    и До перезагрузки забрал архив.
    Вот как то так ... сработало

    ОтветитьУдалить
    Ответы
    1. и надо еще добавить --exclude=/root/.local/share/Trash

      Удалить
    2. Зависает на /proc/kcore уже часа 2 и никаких действий

      Удалить
  13. Подскажите пжл. что нужно прописать в терминале чтобы при резервном копировании папка /home не задевалась, а то там больше чем на 1 Тб файлов?

    ОтветитьУдалить
  14. Этот комментарий был удален автором.

    ОтветитьУдалить
  15. Можно ли сделать только бекап даты и настроек ? если да то как или какой программой
    Бекап такой что б можно было накатить по новой систему и из бекапа востановить все настройки и установленные ранее программы , включая закладки ссылки в браузерах

    ОтветитьУдалить
    Ответы
    1. Systemback - восстановление вашей системы Linux в предыдущее состояние: http://compizomania.blogspot.com/2014/07/systemback-linux.html

      Удалить
    2. Благодарю , попробую ваш вариант
      Я тут наткнулся на программу Deja , типо как дежавю , по моему очень достойная программа , и даже удобней и конкретней чем симпел бекап
      По крайней мере мне очень понравилась и она есть в списках программ в стоковом менеджере программ
      Владимир попробуйте я бы с удовольствием прочел ваше мнение о данной проге

      Удалить