наиболее эффективный и безопасный способ сделать полную дифференциальную резервную копию с помощью rsync

Я искал сеть, чтобы найти способ сделать полную резервную копию моей Linux-машины (а не сервера) и восстановить все в любое время.

Я начал с наиболее привязанного руководства по каждой теме, http://www.mikerubel.org/computers/rsync_snapshots/index.html, и я подумал, что этот тип резервной копии был инкрементной резервной копией, после другого дня исследования я нашел , что разница между дифференциальным и инкрементным резервным копированием в терминах команды rsync? и другие обсуждения, но я не уверен, что я действительно делаю.

После руководства и сообщений я решил попробовать с одной папкой (до резервного копирования всей системы), называемой источником

rsync -av --delete /home/user/source /home/user/backup/backup0/

затем я добавил и удалил несколько файлов и сделал резервную копию еще три раза

 rsync -avH --delete --link-dest=/home/user/backup/backup0 /home/user/source /home/user/backup/backup1 rsync -avH --delete --link-dest=/home/user/backup/backup1 /home/user/source /home/user/backup/backup2 rsync -avH --delete --link-dest=/home/user/backup/backup2 /home/user/source /home/user/backup/backup3 

Я думал, что с этим типом резервного копирования у меня будет что-то вроде:

 backup0-->backup1-->backup2-->backup3 

Поэтому, если бы я хотел восстановить содержимое «backup3», вам понадобилось # 1 e # 2, но я удалил их, а затем восстановил backup3, и все было на месте. Так что я побежал

 user@user:/backup$ du -sh * 450M backup0 620K backup1 624K backup2 628K backup3 

Это похоже на дифференциальную резервную копию, а не на инкрементную, но я думал, что для дифференциала мне пришлось бы установить каждую резервную копию --link-dest=/home/user/backup/backup0

Мой вопрос: я что-то ошибаюсь? Есть ли лучший способ резервного копирования полной системы с помощью rsync?

PS: целевое устройство будет внешним накопителем с той же файловой системой.

One Solution collect form web for “наиболее эффективный и безопасный способ сделать полную дифференциальную резервную копию с помощью rsync”

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

Если вы должны были запустить:

 du -sh backup3 

вы обнаружите, что backup3 занимает 450M или около того. Если вы запустите:

 du -sh backup2 backup3 

вы обнаружите, что backup2 занимает около 450 миллионов, в то время как backup3 занимает очень мало. Это потому, что сначала просмотрел backup2 и подсчитал его пространство. Когда он просматривал backup3, он учитывал только новое дисковое пространство, а не жесткие ссылки на файлы, которые уже были подсчитаны в backup2.

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

пример

Я поместил файл 1.2MB в каталог src/ . Давайте создадим две резервные копии:

 $ rsync -a src backup1 $ rsync -a --link-dest=../backup1 src backup2 

Давайте посмотрим, как большой резерв 2:

 $ du -sh backup2 1.2M backup2 

backup2 имеет 1,2 мегабайта. Теперь давайте посмотрим, насколько велики оба backup1 и backup2:

 $ du -sh backup1 backup2 1.2M backup1 8.0K backup2 

Теперь backup2 будет всего 8k. Это связано с тем, что жесткие ссылки не учитываются дважды.

  • Использование rsync в cronjob при необходимости пароля
  • передавать файл в удаленный каталог только в том случае, если он не существует без замены
  • Синхронизировать дерево каталогов с дедупликацией?
  • Сообщение rsync «пропускать нерегулярный файл», когда не копируются ссылки
  • Отменить и возобновить резервное копирование дубликатов
  • lsyncd: Возможно ли синхронизировать отдельные файлы из списка?
  • Безопасно использовать параметр rsync -z для синхронизации базы данных (двоичная репликация Postgresql)?
  • получить rsync для разыменования символических ссылок, представленных на cmdline, например find -H
  • Синхронизация папок, в которых несколько файлов частично изменены
  • Проблема с Rsync с cron и без проблем вручную
  • Почему rsync в сухом режиме перечисляет некоторые каталоги, а не другие?
  • Interesting Posts

    Установка SQL в Debian Jessie 8.0: «Не удалось найти пакет mysql», но sourcers.list уже настроен.

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

    Что такое эквивалент python для grep -v?

    Как удалить адрес inet6 Link автоматически?

    Как получить только имя файла с помощью sed

    Скрытие данных в файловых системах

    vim редактирование / переключение между несколькими файлами эффективно в больших структурах каталогов

    Небуферизованная команда socat для подключения последовательных портов на удаленных компьютерах и регистрации данных

    Linux Mint проигрывает / забывает / забывает сетевое подключение

    Как получить все процессы, работающие в режиме ядра?

    Проблема в отношении firewalld

    Сколько места на диске занимает список файлов

    Использование команды find для переименования файлов

    Может ли root / superuser прочитать мои защищенные от чтения файлы?

    Какова цель абстракций, сеанса, лидера сеанса и групп процессов?

    Linux и Unix - лучшая ОС в мире.