Thank you for reading this post, don't forget to subscribe!
Установка duplicity на Centos
С установкой все просто:
1 |
# yum install -y duplicity |
Ставится из репозитория epel.
Чтобы полностью забэкапить сервер, необходимо использовать duplicity со следующими параметрами:
1 |
duplicity <strong>full</strong> --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/mnt --exclude=/media --exclude=/tmp --exclude=/var/spool --exclude=/var/cache --exclude=/var/tmp --exclude=/swap / file:///mnt/yadisk --no-encryption |
full | Указывает, что мы делаем полный бэкап, можно делать и инкрементный. |
—exclude | Параметр задает списки исключений, сверьте со своим сервером и добавьте необходимые для исключения папки. |
/ | Источник бэкапа. В данном случае корень диска. |
file:///mnt/yadisk | Локальный путь к папке /mnt/yadisk, куда делаем бэкап. У меня в эту папку смонтирован яндекс.диск. |
—no-encryption | Параметр указывает на то, что шифрование не используется. |
После выполнения бэкапа получите следующую информацию:
После полного бэкапа, можно выполнять инкрементный бэкап. Для этого в приведенной выше команды, вместо параметра full нужно использовать incremental.
Восстановление из бэкапа
Для того, чтобы извлечь содержимое бэкапа в папку /restore, воспользуемся командой:
1 |
duplicity --no-encryption --file-to-restore / file:///mnt/yadisk /restore |
Если вам нужно восстановить какой-то отдельный файл или папку, укажите эту папку или файл следующим образом:
1 2 |
duplicity --no-encryption --file-to-restore var/log file:///mnt/yadisk /restore/var/log duplicity --no-encryption --file-to-restore var/log/messages file:///mnt/yadisk /restore/var/log/messages |
Во время восстановления каталога, папки создавать вручную не надо. Если восстанавливаете файл, то полный путь к конечной директории должен существовать.
Проверка и удаление бэкапов duplicity
Посмотреть информацию о бэкапах в заданном каталоге:
1 |
duplicity collection-status --no-encryption file:///mnt/yadisk |
Проверить содержимое бэкапа и сравнить с оригиналом:
1 |
duplicity verify --no-encryption file:///mnt/yadisk / |
В данном случае не очень информативный вывод будет, так как будут отражены все файлы из исключенных директорий, а их очень много.
Посмотреть список файлов в архиве:
1 |
duplicity list-current-files --no-encryption file:///mnt/yadisk/duplicity |
Необходимым функционалом является очистка старых бэкапов. Для того, чтобы удалить все бэкапы старше одного месяца, нужно воспользоваться командой:
1 |
duplicity --no-encryption remove-older-than 1M file:///mnt/yadisk |
Чтобы удалить все бэкапы, кроме последнего, подойдет команда:
1 |
duplicity --no-encryption remove-all-but-n-full 1 --force file:///mnt/yadisk |