Перейти к содержанию
  1. Posts/

Резервное копирование с rsync

·243 слова·2 минуты

Rsync и резервное копирование системы #

Мне удобно, когда операционная система содержит следующие разделы:

Раздел Точка монтирования LVM раздел
корневой / rootfs
загрузочный /boot -
домашний каталог /home home
данные и всякий хлам /media/data mediadata
(фильмы, музыка и т.п.)
диски виртуальных машин /media/vms vms и vms_slow

Делаю резервную копию сделующих разделов:

  • /
  • /home
  • /media/data

Остальные разделы не содержат полезных данных, либо их легко восстановить.

Резервное копирование системы состоит из 3 этапов:

  1. Получение списка разделов
  2. Удаление устаревших и ненужных файлов перед резервным копированием
  3. Резервное копирование необходимых разделов

Получение списка разделов для резервного копирования #

Список примонтированных в данный момент разделов можно узнать командой mount или lsblk.

Получение списка всех примонтированных разделов:

lsblk | grep -o '/.*'

Чистка ненужных файлов перед резервным копированием #

Не нужно ничего чистить, если сильно лень или не важен размер резервной копии.

Используя ncdu можно найти и удалить ненужные файлы больших размеров. Например, кэш, tmp и т.п.

Копирование необходимых разделов #

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

mkdir -p /mnt/backup/
mount /dev/sdX /mnt/backup

Создаем директорию, в которой сохраним резервную копию и переходим в нее:

export BACKUP_PATH="$(date --iso-8601)"
mkdir "$BACKUP_PATH"
cd "$BACKUP_PATH"

Копируем с помощью rsync разделы по очереди, задавая нужные SRC и DST переменные:

rsync --archive --acls --one-file-system --xattrs --verbose "$SRC" "$DST"

Сокращенная версия:

rsync -aAxXv "$SRC" "$DST"

Главное не забыть по завершении резервного копирования проверить все ли работает и валидна ли резервная копия. Вместо rsync можно использовать LVM снапшоты.