====== СОРМ 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