Резервное копирование с rsync
Содержание
Rsync и резервное копирование системы #
Мне удобно, когда операционная система содержит следующие разделы:
Раздел | Точка монтирования | LVM раздел |
---|---|---|
корневой | / | rootfs |
загрузочный | /boot | - |
домашний каталог | /home | home |
данные и всякий хлам | /media/data | mediadata |
(фильмы, музыка и т.п.) | ||
диски виртуальных машин | /media/vms | vms и vms_slow |
Делаю резервную копию сделующих разделов:
- /
- /home
- /media/data
Остальные разделы не содержат полезных данных, либо их легко восстановить.
Резервное копирование системы состоит из 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 снапшоты.