В старых версиях LANBilling можно было работать
Преимущества handler-скриптов:
Vg-скрипты работали с узким набором параметров: логин, пароль,
Если с учётной записью связано несколько
Подробнее про handler-скрипты можно прочитать в актуальной документации.
Пример
/usr/local/billing/scripts/lbucd_handler_example.sh —action create —login test_login —password test_password —net 10.10.0.100/255.255.255.255 —net 10.10.0.101/255.255.255.255 —shape 1024
В таблице представлено соответствие между
Событие учётной записи | Вызов vg-скрипта | Вызов handler-скрипта |
---|---|---|
Cоздание | script_create |
lbucd_handler_example.sh --action create |
Активация | script_on |
lbucd_handler_example.sh --action on |
Изменение | script_edit |
lbucd_handler_example.sh --action edit |
Блокировка | script_off |
lbucd_handler_example.sh --action off |
Удаление | script_delete |
lbucd_handler_example.sh --action delete |
Логику взаимодействия, описанную в ваших
Вызывать vg-скрипты из handler-скрипта.
Пример на основе lbucd_handler_example.sh:
case "${ACTION}" in
"create") # Cоздание УЗ
log "Logging create account: ${LOGIN}, ip: ${SEGMENT}, mask: ${MASK}"
# вызываем старый скрипт vg.create.sh:
/usr/local/billing/scripts/vg.create.sh "${LOGIN}" "${PASSWORD}" "${SEGMENT}" "${MASK}" "${SHAPE}" >> "{$LOG}"
;;
"delete") # Удаление УЗ
log "Logging delete account: ${LOGIN}, ip: ${SEGMENT}, mask: ${MASK}"
# Вызываем старый скрипт vg.delete.sh:
/usr/local/billing/scripts/vg.delete.sh "${LOGIN}" "${PASSWORD}" "${SEGMENT}" "${MASK}" "${SHAPE}" >> "{$LOG}"
;;
esac
Перенести логику из vg-скриптов в handler-скрипт.
Пример на основе lbucd_handler_example.sh:
case "${ACTION}" in
"create") # Cоздание УЗ
log "Logging create account: ${LOGIN}, ip: ${SEGMENT}, mask: ${MASK}"
# Описываем логику вместо вызова внешнего скрипта
rsh -l "${NAS_SECRET}" "${NAS_IP}" "access-template 107 list2 any host ${SEGMENT}" >> "${LOG}"
;;
"delete") # Удаление УЗ
log "Logging delete account: ${LOGIN}, ip: ${SEGMENT}, mask: ${MASK}"
# Описываем логику вместо вызова внешнего скрипта
rsh -l "${NAS_SECRET}" "${NAS_IP}" "clear access-template 106 list1 host ${SEGMENT} any" >> "${LOG}"
;;
esac
Есть вопросы по документации? Пожалуйста, напишите их