Перенос openfire windows на другой сервер

Обновлено: 03.07.2024

Цель - регулярное сохранение настроек и базы пользователей Openfire на всякий непредвиденный случай.

conf --> /etc/openfire - симлинк, указывающий на реальное расположение файлов.

Для бэкапа настроек и базы пользователей Openfire служит следующий скрипт /home/user/scripts/openfire_bkup.sh:

Скрипт запускается ежедневно в 21:00 через crontab-файл пользователя root (у обычного пользователя нет прав на остановку/запуск демона openfire):

Crontab редактируется командой:

Копирование ежедневного бэкапа на другой компьютер

На моём компьютере (допустим, IP 192.168.0.3) запущен простой FTP-сервер TYPSoft FTP Server, т.к. файлы бэкапа передаются по ftp-протоколу (так проще). Для копирования файлов бэкапа в нём создан пользователь "openfire" с паролем "%password%", корневой каталог "D:\arhiv\openfire_bkup\".

Для копирования бэкапа служит следующий скрипт /home/user/scripts/openfire_copy.sh:

Скрипт запускается ежедневно в 21:20 через crontab-файл пользователя oleg:

Crontab редактируется командой:

Для ротации файлов бэкапа служит следующий скрипт /home/user/scripts/openfire_mv_old.sh:

Скрипт запускается еженедельно, по пятницам в 22:00 через crontab пользователя user:

Поскольку файлы бэкапа дополнительно копируются ещё и на мой компьютер, то тоже пришлось настроить ротацию, во избежание переполнения диска. Для ротации файлов на моём компьютере, под управлением Windows, служит командный файл "D:\home\user\Programs\cmd\openfire_bkup_rotation.cmd" (запускается планировщиком Windows по пятницам, в 22:30):

@echo off REM ************************************************** REM По расписанию перемещаем файлы из каталога source REM в каталог dest. REM Поскольку каталог dest каждый раз очищается, REM то накопления файлов не происходит. REM Такая простенькая ротация файлов. REM ************************************************** REM Установка переменных setlocal set source=D:\arhiv\openfire_bkup set dest=D:\arhiv\openfire_bkup\old set now=%DATE:

0,2% REM Проверка существования архива за текущий день if exist %source%\openfire_bkup-%now%.zip ( REM Если архив существует, считаем, что всё в порядке: REM Очистка каталога со старыми файлами и перемещение в него новых del /Q %dest%\*.* move %source%\*.* %dest% echo Backup files moved >> %dest%\rotation.log date /t >> %dest%\rotation.log time /t >> %dest%\rotation.log ) else ( REM Если архива нет, то в панике шлём письмо об ошибке echo Error! >> %dest%\rotation.log call D:\home\user\Programs\cmd\senderr1.cmd ) :END

Для отправки электронной почты используется консольный SMTP-клиент Blat (А здесь источник вдохновения для cmd-файла).

Читайте также: