ISPmanager 6: старая система резервного копирования и кастомизация меню

Еще в пятой версии ISPmanager появилась новая система резервного копирования. Ознакомиться более подробно с этими изменениями можно в соответствующей статье. Да, события эти довольно давние, однако долгое время существовала возможность вернуться к более привычному и логичному механизму создания бекапов. Для этого было достаточно добавить в конфигурационный файл ISPmanager /usr/local/mgr5/etc/ispmgr.conf параметр, который позволяет использовать параллельно и старую, и новую реализацию резервного копирования.

Option EnableOldBackup

После чего обязательно перезапустить панель, воспользовавшись командой:

/usr/local/mgr5/sbin/mgrctl -m ispmgr exit

Или командой:

pkill core

С течением времени данный (вполне себе документированный метод) начал работать криво. Сначала в левом меню перестал появляться соответствующий пункт «Резервное копирование», но все еще оставалась возможность закрепить ссылки на его разделы в верхней части панели, не так давно пропала и эта возможность.

Добавляем ссылки на резервное копирование в левое меню панели

Итак, сам механизм у нас уже включен. Более того, по прямым ссылкам доступны его разделы. Для начала давай рассмотрим их.

Настройки резервного копирования состоят из 3-х разделов:

  • Планы резервного копирования (/ispmgr#/list?func=backup.plan). Здесь находятся основные настройки: время выполнения, количество резервных копий, фильтры для исключения/включения определенных данных в бекап.
  • Хранилища (/ispmgr#/list?func=backup.storages). Добавление хранилищ для хранение резервных копий. FTP или локальное хранилище.
  • Резервные копии (/ispmgr#/list?func=backups). Список созданных бекапов. Возможность восстановления, скачивания, удаления бекапа.

Именно эти 3 пункта нам и предстоит вернуть в левое меню панели. За основу был взят пример из официальной документации. Дальнейшие действия выполняются под пользователем root (на свой страх и риск).

Шаг 1. В папке /usr/local/mgr5/etc/xml/ создадим файл ispmgr_mod_menu.xml. Название файла может отличаться, но должно иметь следующий формат: ispmgr_mod_<произвольное наименование>.xml.

Шаг 2. Добавим в файл следующее описание:

<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
    <mainmenu level="admin+">
        <modernmenu>
            <node name="Резервное копирование" type="noname" icon="m-help">
                <node name="backup.plan" action="backup.plan" type="list" favorite="yes" icon="m-backup"/>
                <node name="backup.storages" action="backup.storages" favorite="yes" type="list" icon="m-backup"/>
                <node name="backups" action="backups" type="list" favorite="yes" icon="m-backup"/>
            </node>
        </modernmenu>
    </mainmenu>
    <lang name="ru">
        <messages name="desktop">
            <msg name="modernmenu_backup.plan">Планы резервного копирования</msg>
            <msg name="modernmenu_backups">Резервные копии</msg>
            <msg name="modernmenu_backup.storages">Хранилища</msg>
        </messages>
    </lang>
</mgrdata>

Шаг 3. Перезапустим панель уже знакомой нам командой pkill core. Для того, чтобы применить любые изменения в xml-файле требуется перезапуск панели.

В результате в левом меню и на вкладке «Все разделы» появились соответствующие пункты:

Давайте пройдемся и рассмотрим некоторые атрибуты, которые были использованы в нашем конфигурационном файле.

mainmenu level="admin+" — уровень доступа. Добавляем пункты меню для администратора. Возможные значения: admin+, user, reseller.

node name="Резервное копирование" — название раздела.

icon="m-help" — иконка раздела и пунктов меню. Были использованы стандартные иконки панели, названия классов можно подсмотреть через исходный код страницы. Кроме того, в документации есть метод, который позволяет добавить собственные иконки в пункты меню.

name="backup.plan" / action="backup.plan" — название вызываемой функции. В данном случае это встроенная функция панели. Но по аналогии можно создавать и вызывать свои собственные методы.

favorite="yes" — указывает на то, что пункт меню должен быть сразу показан в левом меню. Если атрибут не задан, пункт меню появится на странице «Все разделы», откуда его можно добавить его в левое меню.

msg name="modernmenu_backup.plan" — название пункта меню. Указывается как префикс modernmenu_ плюс название вызываемой функции.

Данное решение реализовано, проверено и работает в ISPmanager Lite/Pro версии 6.112.3.

Опубликовано: 21 января 2025 года, в рубрике «Серверная».

Оставить комментарий

5000
  Подписаться  
Уведомление о
Поблагодарить автора статьи
Зачем это нужно