Airtime для радиостанций

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

Следующие команды исходного процессора могут быть использованы для резервного копирования и восстановления баз данных на сервере под управлением PostgreSQL в системе Airtime.

Следующие команды исходного процессора могут быть использованы для резервного копирования и восстановления баз данных на сервере под управлением PostgreSQL в системе Airtime. 

$ sudo -u postgres pg_dumpall | gzip -c > airtime-backup.gz 

Эта команда может быть автоматизирована для выполнения ее на регулярной основе путем использования стандартного инструмента cron на вашем сервере. 

При восстановлении рабочей базы данных в заново установленной системе Airtime может понадобиться сбросить пустую базу данных, которая была создана во время новой установки, с помощью команды dropdb. Опять же, эта команда выполняется с помощью команды sudo от имени пользователя postgres

$ sudo -u postgres dropdb airtime

Вышеуказанная команда dropdb необходима для того, чтобы избежать ошибок типа 'already exists' («уже существует») при создании таблиц во время перезаписи пустой базы данных Airtime в следующем шаге. Эти ошибки могут препятствовать восстановлению некоторых данных, таких как данные учетной записи пользователя.

Для восстановления данных сначала распакуйте резервный файл при помощи команды gunzip, а затем используйте команду psql как пользователь postgres:

$ gunzip airtime-backup.gz
$ sudo -u postgres psql -f airtime-backup postgres 

Теперь у вас есть возможность войти в веб-интерфейс Airtime в обычном режиме.

По соображениям безопасности, ваши регулярные резервные копии баз данных должны храниться в каталоге, резервирование которого поддерживается инструментом для резервирования баз данных по вашему выбору, например, каталог /srv/airtime/database_backups. Это должно обеспечить возможность восстановления баз данных, а также согласование и сохранение полной версии базы данных Airtime со дня создания резервной копии.  

Резервное копирование хранилища

Резервное копирование базы данных Airtime при помощи команды pg_dumpall не будет создавать резервные копии сервера Airtime для хранения медиа-файлов, для резервного копирования которого, скорее всего, понадобится гораздо больше пространства. Создание сжатых файлов из сотен гигабайт содержимого сервера-хранилища наверняка займет очень много времени и может оказаться малополезным из-за потребления мощности процессора, если медиа-файлы уже хранятся в сжатом формате. Также непрактично создание очень больших файлов резервных копий во всей сети на ежедневной основе.

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

Стандартным инструментом инкрементного резервного копирования для серверов под GNU/Linux является приложение rsync (http://rsync.samba.org/), которое можно установить с помощью диспетчера пакетов вашего дистрибутива GNU/Linux. Однако инкрементное резервное копирование само по себе не может помочь в том случае, когда файл, который позже оказывается важным, был удален администратором. Для резервного копирования, при котором возможен откат для восстановления более ранних данных, чем текущая резервная копия, можно установить инструмент rdiff-backup (http://www.nongnu.org/rdiff-backup/).