====== СОРМ VASExperts ====== ===== Настройки ===== admin.isp.demo заменить на ваш домен админки Ссылка для получения выгрузки: https://admin.isp.demo/ajax/index/vasexperts/?key=password12345&request=xxxxx&file=true либо https://admin.isp.demo/ajax/index/vasexperts/?key=password12345&request=xxxxx где key - это ключа API указанный в настройках СОРМ, request - тип выгрузки {{:billing:configuration:2020-08-03_12-05-23.png?400|}} ===== Типы выгрузок ===== Подерживаемые типы выгрузки (request): * payments_v1 * bank_transfers * service_list_v1 * services * subscribers_v2 * ip_nets_v1 * special_numbers * gateways_v1 * switches ===== Скрипт выгрузки ===== Скрипты дорабатываются и могут изменяться! Для отправки на удаленный сервер используется scp и sshpass #!/bin/bash EXTRA="" API_URL="https://admin.ispnet.demo" API_NAME="vasexperts" API_KEY="0123456789" API_REQUESTS=( subscribers_v2 payments_v1 service_list_v1 services ) SCP_UPLOAD=0 REMOTE_ADDRESS="192.168.0.1" REMOTE_PORT="22" REMOTE_LOGIN="ftp" REMOTE_PASS="ftp" REMOTE_DIR="/" ARCHIVE_OLD_FILES=0 ARCHIVE_DIR="/home/sorm/archive" LOCAL_DIR="/home/sorm/downloads" WGET_APP="wget --content-disposition --no-check-certificate -q" function download() { $WGET_APP -O $LOCAL_DIR/$1 $2 } function scp_upload() { if [ "$SCP_UPLOAD" -eq 1 ]; then SSHPASS=$(which sshpass) SCP=$(which scp) $SSHPASS -p "$REMOTE_PASS" $SCP -q -u -p -P $REMOTE_PORT $LOCAL_DIR/* $REMOTE_USER@$REMOTE_ADDRESS:$REMOTE_DIR fi } if [ ! -d "$LOCAL_DIR" ]; then mkdir -p $LOCAL_DIR fi if [ ! -z "$(ls -A $LOCAL_DIR)" ]; then rm -f $LOCAL_DIR/* fi if [ "$SCP_UPLOAD" -eq 1 ]; then if [ ! command -v scp &> /dev/null ]; then echo "scp no found! exit" exit fi if [ ! command -v sshpass &> /dev/null ]; then echo "sshpass no found! exit" exit fi fi if [ "$#" -gt 0 ]; then if [ "$1" == "ACTIVATE" ]; then download "PAYMENT" "${API_URL}/ajax/index/${API_NAME}/?key=${API_KEY}&request=PAYMENT${EXTRA}" else download "$1" "${API_URL}/ajax/index/${API_NAME}/?key=${API_KEY}&request=$1${EXTRA}" fi else for REQUEST in ${API_REQUESTS[*]} do download "${REQUEST}_$(date +%d%m%Y%H%M%S).txt" "${API_URL}/ajax/index/${API_NAME}/?key=${API_KEY}&request=${REQUEST}${EXTRA}" done fi # check local archive if [ "$ARCHIVE_OLD_FILES" -eq 1 ]; then if [ ! -d "$ARCHIVE_DIR" ]; then mkdir -p $ARCHIVE_DIR fi /bin/cp -fR $LOCAL_DIR/* $ARCHIVE_DIR/ fi # upload to remote server scp_upload ===== CRON ===== # ежедневная выгрузка 00 06 * * * root /root/unloading.sh