Отчёты для СОРМ 3 (Норси-Транс)

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (2)

просмотр истории страницы
{toc}
h1. Выгрузка на СОРМ3

h2. Принцип работы
Для автоматизации передачи отчетов на СОРМ3 следует:
# Удалить в начале *select '' from abonents UNION*
{code}curl -v -sS --user login:password -T /app/asr_billing/root/sorm3-export.csv ftp://192.168.0.1/abonents/abonents/{code}

h2. Скрипты для планировщика задач
Первый скрипт выгружает изменение по абонентам, измененным за последние сутки, второй - все остальное, раз в час.

*/etc/cron.daily/40_sorm_daily.sh*
{code}#/bin/bash

LOGFILE=/app/asr_billing/var/log/sorm-upload.log

ftpip=192.168.0.1
ftplogin=user
ftppass=password

printf '\n\n' >> $LOGFILE 2>&1
date >> $LOGFILE 2>&1

chroot /app/asr_billing isql-fb 169.254.30.50:/var/db/billing.gdb -p servicem -u SYSDBA -i /cfg/sorm3/abonents-periodic.sql | sed '/^$/d'| sed 's/ *//g' | iconv -f utf8 -t cp1251 > /app/asr_billing/cfg/sorm3/data/abonents-periodic.csv
if [ -s /app/asr_billing/cfg/sorm3/data/abonents-periodic.csv ]
then
printf 'Метаданные файла\n' >> $LOGFILE 2>&1
ls -l /app/asr_billing/cfg/sorm3/data/abonents-periodic.csv >> $LOGFILE 2>&1
printf 'Количество строк в файле: ' >> $LOGFILE 2>&1 && cat /app/asr_billing/cfg/sorm3/data/abonents-periodic.csv | wc -l >> $LOGFILE 2>&1
cp /app/asr_billing/cfg/sorm3/data/abonents-periodic.csv /app/asr_billing/cfg/sorm3/data/done/abonents-periodic.csv-`date +"%Y%m%d_%H%M%S"`
curl -v -sS --user $ftplogin:$ftppass -T /app/asr_billing/cfg/sorm3/data/abonents-periodic.csv ftp://$ftpip/abonents/abonents/ >> $LOGFILE 2>&1
>| /app/asr_billing/cfg/sorm3/data/abonents-periodic.csv
printf 'Проверим что файл очищен\n' >> $LOGFILE 2>&1
ls -l /app/asr_billing/cfg/sorm3/data/abonents-periodic.csv >> $LOGFILE 2>&1
fi{code}

*etc/cron.hourly/40_sorm_hourly.sh*
{code}#/bin/bash

LOGFILE=/app/asr_billing/var/log/sorm-upload.log

ftpip=192.168.0.1
ftplogin=user
ftppass=password

printf '\n\n' >> $LOGFILE 2>&1
date >> $LOGFILE 2>&1

chroot /app/asr_billing isql-fb 169.254.30.50:/var/db/billing.gdb -p servicem -u SYSDBA -i /cfg/sorm3/balance-fillup-periodic.sql | sed '/^$/d'| sed 's/ *//g' | iconv -f utf8 -t cp1251 > /app/asr_billing/cfg/sorm3/data/balance-fillup-periodic.csv
if [ -s /app/asr_billing/cfg/sorm3/data/balance-fillup-periodic.csv ]
then
printf 'Метаданные файла\n' >> $LOGFILE 2>&1
ls -l /app/asr_billing/cfg/sorm3/data/balance-fillup-periodic.csv >> $LOGFILE 2>&1
printf 'Количество строк в файле: ' >> $LOGFILE 2>&1 && cat /app/asr_billing/cfg/sorm3/data/balance-fillup-periodic.csv | wc -l >> $LOGFILE 2>&1
cp /app/asr_billing/cfg/sorm3/data/balance-fillup-periodic.csv /app/asr_billing/cfg/sorm3/data/done/balance-fillup-periodic.csv-`date +"%Y%m%d_%H%M%S"`
curl -v -sS --user $ftplogin:$ftppass -T /app/asr_billing/cfg/sorm3/data/balance-fillup-periodic.csv ftp://$ftpip/payments/balance-fillup/ >> $LOGFILE 2>&1
>| /app/asr_billing/cfg/sorm3/data/balance-fillup-periodic.csv
printf 'Проверим что файл очищен\n' >> $LOGFILE 2>&1
ls -l /app/asr_billing/cfg/sorm3/data/balance-fillup-periodic.csv >> $LOGFILE 2>&1
fi

chroot /app/asr_billing isql-fb 169.254.30.50:/var/db/billing.gdb -p servicem -u SYSDBA -i /cfg/sorm3/supplement-services-periodic.sql | sed '/^$/d'| sed 's/ *//g' | iconv -f utf8 -t cp1251 > /app/asr_billing/cfg/sorm3/data/supplement-services-periodic.csv
if [ -s /app/asr_billing/cfg/sorm3/data/supplement-services-periodic.csv ]
then
printf 'Метаданные файла\n'
ls -l /app/asr_billing/cfg/sorm3/data/supplement-services-periodic.csv
printf 'Количество строк в файле: ' && cat /app/asr_billing/cfg/sorm3/data/supplement-services-periodic.csv | wc -l
cp /app/asr_billing/cfg/sorm3/data/supplement-services-periodic.csv /app/asr_billing/cfg/sorm3/data/done/supplement-services-periodic.csv-`date +"%Y%m%d_%H%M%S"`
curl -v -sS --user $ftplogin:$ftppass -T /app/asr_billing/cfg/sorm3/data/supplement-services-periodic.csv ftp://$ftpip/dictionaries/supplement-services/
>| /app/asr_billing/cfg/sorm3/data/supplement-services-periodic.csv
printf 'Проверим что файл очищен\n'
ls -l /app/asr_billing/cfg/sorm3/data/supplement-services-periodic.csv
fi

chroot /app/asr_billing bash /cfg/sorm3/services.sh
if [ -s /app/asr_billing/cfg/sorm3/data/services-periodic.csv ]
then
printf 'Метаданные файла\n' >> $LOGFILE 2>&1
ls -l /app/asr_billing/cfg/sorm3/data/services-periodic.csv >> $LOGFILE 2>&1
printf 'Количество строк в файле: ' >> $LOGFILE 2>&1 && cat /app/asr_billing/cfg/sorm3/data/services-periodic.csv | wc -l >> $LOGFILE 2>&1
cp /app/asr_billing/cfg/sorm3/data/services-periodic.csv /app/asr_billing/cfg/sorm3/data/done/services-periodic.csv-`date +"%Y%m%d_%H%M%S"`
curl -v -sS --user $ftplogin:$ftppass -T /app/asr_billing/cfg/sorm3/data/services-periodic.csv ftp://$ftpip/services/services/ >> $LOGFILE 2>&1
>| /app/asr_billing/cfg/sorm3/data/services-periodic.csv
>| /app/asr_billing/cfg/sorm3/data/services-periodic-temp.csv
printf 'Проверим что файл очищен\n' >> $LOGFILE 2>&1
ls -l /app/asr_billing/cfg/sorm3/data/services-periodic.csv >> $LOGFILE 2>&1
fi

exit 0{code}
После сохранения скриптов, установите на обоих права на выполнение и перезапустите планировщик:
{code}
chmod a+x /etc/cron.hourly/40_sorm_hourly.sh
chmod a+x /etc/cron.daily/40_sorm_daily.sh
/etc/init.d/cron restart
{code}
h2. Сохранение запросов на сервере

h1. Отчеты
h2. 1. Отчёт по заключенным договорам на оказание услуг связи c использованием только стандартных реквизитов.