Создаём скрипт бэкапа. Для этого в любом каталоге, какой нравится, создадим файл скрипта. Я буду использовать каталог /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
asteriskbackupCronelastixастерискбэкапеластиксскриптэластикс
Elastix auto Backup и выгрузка на сетевое хранилище
19 July 2017
Backup, elastix, Linux, Scripting, VoIP
No Comments
bakabuka
Создаём скрипт бэкапа. Для этого в любом каталоге, какой нравится, создадим файл скрипта. Я буду использовать каталог /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
asteriskbackupCronelastixастерискбэкапеластиксскриптэластикс