Вы здесь

Создание бэкапов LXC, пример скрипта


Создание бэкапов LXC, пример скрипта

Привет, в сегоднешней короткой заметке, я покажу вам как можно автоматизировать процесс создания бэкапов контейнеров lxc.

Не буду тянуть, а сразу покажу скрипт, котоым я пользуюсь:

#!/bin/bash
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DATE=`date +%Y-%m-%d`
#имя контейнера, который нужно бэкапить
NAME=git.mytechnote.ru
lxc-stop -n $NAME
tar --numeric-owner -czvf /tmp/$DATE-$NAME.tar.gz /var/lib/lxc/lxc/$NAME
lxc-start -n $NAME
#папка, куда будет переноситься бэкап должна существовать.
mv /tmp/$DATE-$NAME.tar.gz /mnt/backup/lxc/
RETENTION=$((21*24*60))
#количество копий, которые нужно хранить.
KEEP=8
find /mnt/wd-backup/lxc -type f -printf '%T@ %p\n' -mmin +$RETENTION | sort -nr | tail -n +$KEEP | xargs -r rm

Что делает этот скриипт:

1) останавливает контейнер.

2) сжимает его файловую систему и конфиг в /tmp

3) переносит архив из /tmp в нужное место, в моем случае это samba шара, примонтированная в /mnt/wd-backup.

Соответсвенно, если вы будете использовать этот скрипт, не забудьте изменить имя контейнера, путь до папки с контейнерами (по умолчанию /var/lib/lxc) и путь до места, где бэкапы должны складываться.

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

Предлагаю обусудить статью на форуме.

0 0

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


Если вам помогла статья, вы можете >>отблагодарить автора<<