Инструменты пользователя

Инструменты веб-сайта


резервная копия

Резервная копия

обзор

Benno MailArchiv хранит свои данные по разным путям.

  • Репозиторий: /srv/benno/archive/repo
  • Индекс: /srv/benno/archive/index
  • Import-Spool /srv/benno/inbox
  • База данных пользователей: /var/lib/benno-web
  • Шаблоны для HTML- интерфейса: /srv/benno/bennoweb''

Репозиторий

Электронные письма хранятся в сжатом виде в репозитории. Репозиторий занимает значительно больше места в файловой системе архива. Из репозитория не удаляются никакие электронные письма, поэтому резервная копия должна сохранять только те файлы, которые были добавлены с момента последнего резервного копирования.

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

Инкрементальное резервное копирование

Простую инкрементальную резервную копию локально смонтированной сетевой папки можно реализовать с помощью простого скрипта.

архив Tar

#!/bin/sh
 #
 #
 BACKUPDIR = / backup / benno-mailarchiv ARCHIVE_DIR = / srv / benno TS_FILE = $ARCHIVE_DIR / .last_backup START_DATE = ` date + % Y % m % d % H % M.  %S` if [ ! -f  $ TS_FILE 
 
]  ;  then touch -t  200001010000 $ TS_FILE
     fi  /  usr  /
 bin
 
 / find $ ARCHIVE_DIR -depth -newer  $  TS_FILE  -print  |  \  tar -T --cf  $ { BACKUPDIR  } / benno-backup_$ ( date + % Y- % m- % d_ % H- % M- % S ) .tar touch  -t  $START_DATE  $TS_FILE

Структура каталогов

#!/bin/sh
 #
 #
 BACKUPDIR = / mnt / backup / $hostname
 
 ARCHIVE_DIR = / srv / benno TS_FILE = $ARCHIVE_DIR / .last_backup START_DATE = ` date + % Y % m % d % H % M. %
 
 S` if [  !  -f  $  TS_FILE  ] ; then
     touch  -t  200001010000  $TS_FILE
 fi
 
 / usr / bin / find  $ARCHIVE_DIR  -depth  -newer  $TS_FILE  -print  | \ / bin / cpio  --pass-through  --preserve-modification-time  --make-directories \ $BACKUPDIR
 touch  -t  $START_DATE  $TS_FILE

Инкрементальное резервное копирование сети

Резервная машина запускает скрипт на машине, которую необходимо скопировать, через SSH, который создает архив cpio из всех новых файлов (benno2-create_cpio). Затем этот архив передается через SSH на хост резервного копирования и обрабатывается там другим скриптом.

/etc/cron.d/benno-remotebackup

# Резервное копирование почтового архива Benno с удаленного хоста # # Резервное копирование Benno 20 1 * * * root ssh benno.lw-systems.net '/usr/local/sbin/benno2-create_cpio' | sh /usr/local/sbin/benno2-extract_cpio

benno2-extract_cpio

Этот скрипт копируется в каталог «/usr/local/sbin» на резервной машине.

#!/bin/sh # # cd /rsnapshot/benno-backups /bin/cpio -i \ --make-directories \ --no-absolute-filenames \ --preserve-modification-time

benno2-create_cpio

На машине, резервная копия которой будет создана, скрипт для генерации потока данных CPIO создается в каталоге "/usr/local/sbin".

#!/bin/sh # # ARCHIVE_DIR=/srv/benno TS_FILE=$ARCHIVE_DIR/.last_backup START_DATE=`date +%Y%m%d%H%M.%S` /usr/bin/find $ARCHIVE_DIR -newer $TS_FILE | \ /bin/cpio -o touch -t $START_DATE $TS_FILE

Внимание : Для инициализации необходимо создать файл .last_backup.

touch -t 200001010000 /srv/benno/.last_backup

индекс

Индексные данные проиндексированных электронных писем хранятся в каталоге индекса.

Запись индексных файлов происходит только в процессе фиксации изменений. Индекс фиксируется не позднее чем через 10 секунд после записи в него последнего электронного письма.

Таким образом, резервное копирование может быть выполнено на основе снимка жесткой ссылки.

/etc/init.d/benno-archive stop sleep 10 cp -al /srv/benno/index /srv/benno/index_backup /etc/init.d/benno-archive start

Теперь можно безопасно создать резервную копию каталога /srv/benno/index_backup.

База данных пользователей и шаблоны

Здесь легко можно создать резервную копию файла.

backup.txt Последнее изменение: 02.11.2018 17:58 lwsystems