Elastix auto Backup и выгрузка на сетевое хранилище


Создаём скрипт бэкапа. Для этого в любом каталоге, какой нравится, создадим файл скрипта. Я буду использовать каталог /var/www/backup Он идёт по умолчанию для бэкапа у эластикса.

Назовём файлик automatic_backup

nano /var/www/backup/automatic_backup

Его содержимое:

#!/bin/bash

# Присвоим переменной текущую дату и время
now=$(date +”%m_%d_%Y”)

# Монтируем сетевую шару с NAS сервера в заранее созданную папку /mnt/backup. 10.1.1.19 это адрес сетевого хранилища. Адрес и тип фс надо подставить своё.
mount -t nfs 10.1.1.19:/mnt/backup/backupservers /mnt/backup

# Выполняем бэкап в локальный каталог с последующей архивацией в .tar. Здесь убраны разделы с записями разговора, так как они занимают много места в архиве и долго пакуются, если их много

/usr/sbin/elastix-helper backupengine –backup –backupfile elastixbackup-$now.tar –tmpdir /var/www/backup –components as_db,as_config_files,as_sounds,as_mohmp3,as_dahdi,fx_db,fx_pdf,em_db,em_mailbox,ep_db,ep_config_fi$

# Переносим файл архива на сетевую шару из локального каталога

mv /var/www/backup/*.tar /mnt/backup/PBX

# Отмонтируем сетевую шару
umount /mnt/backup

Сохраняем через ctrl+x подтверждаем имя y enter

 

Далее нужно создать скрипт по удалению старых архивов

Создаём файлик в этой же директории. Я его назвал clear_backup

nano /var/www/backup/clear_backup

Его содержимое:

 

#!/bin/bash

# Монтируем сетевую шару с NAS сервера в заранее созданную папку /mnt/backup. 10.1.1.19 это адрес сетевого хранилища. Адрес и тип фс надо подставить своё.
mount -t nfs 10.1.1.19:/mnt/backup/backupservers /mnt/backup

# Ищем и удаляем файлы *.tar в сетевой шаре и на локальном диске. Удаляем файлы старше 120 дней
find /mnt/backup/PBX/*.tar -mtime +120 -exec rm {} \;
find /var/www/backup*.tar -mtime +120 -exec rm {} \;

# Отмонтируем сетевую шару
umount /mnt/backup

 

Сохраняем через ctrl+x подтверждаем имя y enter

 

Далее надо создать задание в планировщике. Частоту выполнения каждый выбирает из своих нужд. У меня делается каждый день, так как в течении недели бывает по несколько изменений конфига.

Заходим в /etc/cron.d и создаём файл с заданием automatic_backup.cron

nano /etc/cron.d/automatic_backup.cron

Его содержимое:

# Каждый день в 23:59 запускаем бэкап скрипт automatic_backup
59 23 * * * root /var/www/backup/automatic_backup

# 2 раза в неделю по вторникам и субботам в 02:59 запускаем скрипт для удаления clear_backup
59 02 * * 2,6 root /var/www/backup/clear_backup

 

Сохраняем через ctrl+x подтверждаем имя y enter