Перенос 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-файла).
Читайте также: