BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 01 май 2024, 08:40

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
СообщениеДобавлено: 06 фев 2010, 12:25 
Не в сети
Клиент

Зарегистрирован: 30 янв 2010, 15:06
Сообщения: 115
Карма: 0
Может пригодится кому
исходный вид:
Код:
B:27767 (06.105) 569191            533903               (00.063) 06/01/10 23:38 00:29:04 
B:27781 (05.050) 531741            567212               (00.109) 07/01/10 00:07 00:01:25 
B:27759 (06.101) 569026            523111               (00.061) 06/01/10 23:27 00:42:03 
B:14021 (06.065) 599633            596421               (01.088) 06/01/10 23:54 00:14:47 
B:45599 (01.124) 567662            572897               (02.060) 06/01/10 23:58 00:10:29 
B:27782 (01.038) 531741            567212               (00.101) 07/01/10 00:09 00:00:21 
B:14035 (04.052) 531651            567450               (01.111) 07/01/10 00:09 00:00:38 
B:54155 (02.107) 555834            569502               (03.012) 07/01/10 00:09 00:00:06 
B:54157 (02.114) 555534            569502               (03.018) 07/01/10 00:09 00:00:06 
B:14034 (02.062) 536035            568748               (01.119) 07/01/10 00:08 00:02:39 
B:54153 (05.116) 566039            569351               (03.015) 07/01/10 00:06 00:03:56 
B:54158 (06.066) 599535            569502               (03.029) 07/01/10 00:10 00:00:11 
B:13957 (00.004) 550434            597800               (01.079) 06/01/10 23:13 00:57:43 
B: 2361 (06.065) 598561            78772200             (06.107) 07/01/10 00:10 00:01:15 
B:14037 (00.023) 550434            597800               (01.093) 07/01/10 00:11 00:00:24 
B:54159 (06.118) 015266            569502               (03.007) 07/01/10 00:12 00:00:05 
B:14038 (00.018) 550434            597800               (01.094) 07/01/10 00:12 00:00:25 
B:27783 (06.053) 523730            566129               (00.118) 07/01/10 00:11 00:01:38 


с помощью регулярки взять его не получилось (бывают пустые абонеты А)
но зато они не скачут посимвольно.

Код:
#####################################################################
# Конвертер логов АТС миником УАК в формат логов  bgbilling (5.0).
# Язык: PowerShell
# Требования: консольная утилита архивирования 7Zip
# Автор: Валяев Алексей, admintsm@gmail.com
#
# баг: если продолжительность звонка более 23:59 часов вываливается ошибка.
# если ваши абоненты любят потрещать, по другому вычисляйте продолжительность
# звонка в секундах
#####################################################################
#
#Указываем путь к утилите 7zip
$7zip = ".\7za.exe"
#указываем пуи к лог-файлам
$Log_from_uac = "D:\1111"
#
#инициируем массив для хранения путей ко всем лог-файлам
$AllLogFile = @()
#
#берем список всех лог-файлов, передаем по конвееру и
#последовательно обрабатываем содержимое каждого из них
dir $Log_from_uac | %{ Get-Content $Log_from_uac\$_ |%{
#
#Проводим отбор определенных звонков по портам
#(требовалось для выполнения моей задачи)
$InComing =[int]$_.substring(12,3)
$Outgoing =[int]$_.substring(60,3)
#
#
#Условие, выбирающие из строчек логов только те,
#Которые были нужны мне для обработки.
If  (($(32..63) -contains $InComing) -or ($(32..63) -contains $Outgoing)){
#
#разбираем строчку лога
#$portA = $_.substring(9,6) - помещаем в
#переменную $portA содержимое текущей обрабатываемой
#строчки лога ($_) начиная с 9 символа и последующие 6 символов
# поскольку порт в логе выглядит как  44.333, я избавился от точки:
$portA = $_.substring(9,2)+$_.substring(12,3)
$portB = $_.substring(57,2)+$_.substring(60,3)
#выбираем из строки номера
$NumberA = $_.substring(17,6)
$NumberB = $_.substring(35,8)
#выбираем дату, время, продолжительность звонка.
#и сразу конвертируем в тип [datetime] для последующей обработки
$datetime = [datetime]::parse($_.substring(65,14))
$Call = [datetime]::parse($_.substring(80,8))
#Вычисляем продолжительность звонка в секундах
$Call_duration = $Call.Hour*360+$Call.Minute*60+$Call.Second
#Создаем дерево каталогов и файлы
$YY = $datetime.ToString("yyyy")
$MM = $datetime.ToString("MM")
$dd = $datetime.ToString("dd")
$HH = $datetime.ToString("HH")
$PathToLog = "D:\PoSh\billing\$YY\$MM"
$LogName = "$dd"+"_$HH"
If (!(Test-Path $PathToLog )){New-Item -ItemType Directory $PathToLog -Force}
If (!(Test-Path $PathToLog\$LogName)){New-Item -ItemType File $PathToLog\$LogName}
#
#Добавляем в массив путь к очередному новому логу, если его  там еще нету
If (!($AllLogFile -contains "$pathTolog\$logname")){$AllLogFile+="$pathTolog\$logname"}
#
#формируем новую строчку лога, понятную для bgbilling.
#я добавлял коды города, так как у нас в АТС ходят 6ти значные номера
#"`t" - символ табуляции
$bg_billing = $datetime.ToString("dd.MM.yy HH:mm:ss")+"`t"+"$Call_duration"+"`t"+"$NumberA"+"`t"+"73499"+"$NumberA"+"`t"+"$NumberB"+"`t"+"73499"+"$NumberB"+"`t"+"$portA"+"`t"+"$portB"+"`t"+"0"

$bg_billing|Out-File "$pathTolog\$logname" -Append -Encoding ASCII
}
}
}
#Архивируем и удаляем логи. остаются одни архивы.
$AllLogFile | %{
$newname = ($_ -replace ".txt")+".zip"
&$7zip a $newname $_
}
$AllLogFile | Remove-Item -Force   


Последний раз редактировалось Lexw 08 фев 2010, 10:31, всего редактировалось 5 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 фев 2010, 16:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 08 мар 2007, 20:44
Сообщения: 1570
Откуда: Челябинск
Карма: 18
напишите лучше статью в wikki на этом сайте, там будет самое место

_________________
Интернет и телефония оптом со склада, или в розницу


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 фев 2010, 17:27 
Не в сети
Клиент

Зарегистрирован: 30 янв 2010, 15:06
Сообщения: 115
Карма: 0
max писал(а):
напишите лучше статью в wikki на этом сайте, там будет самое место


я хотел добавить сюда http://wiki.bgbilling.ru/index.php/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%BE%D1%80%D0%BE%D0%B2_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2
и даже зарегистрировался. но править статьи не могу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 фев 2010, 13:57 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Lexw писал(а):
max писал(а):
напишите лучше статью в wikki на этом сайте, там будет самое место


я хотел добавить сюда http://wiki.bgbilling.ru/index.php/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%BE%D1%80%D0%BE%D0%B2_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2
и даже зарегистрировался. но править статьи не могу.


система не дает править ? нет кнопок для правки ? какой пользователь?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 фев 2010, 17:12 
Не в сети
Клиент

Зарегистрирован: 30 янв 2010, 15:06
Сообщения: 115
Карма: 0
stark писал(а):
Lexw писал(а):
max писал(а):
напишите лучше статью в wikki на этом сайте, там будет самое место


я хотел добавить сюда http://wiki.bgbilling.ru/index.php/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%BE%D1%80%D0%BE%D0%B2_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2
и даже зарегистрировался. но править статьи не могу.


система не дает править ? нет кнопок для правки ? какой пользователь?


нет кнопки "править"
пользователь "Алексей"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 фев 2010, 18:13 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Lexw писал(а):

нет кнопки "править"
пользователь "Алексей"


А email свой потверждали ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 фев 2010, 11:11 
Не в сети
Клиент

Зарегистрирован: 30 янв 2010, 15:06
Сообщения: 115
Карма: 0
stark писал(а):
Lexw писал(а):

нет кнопки "править"
пользователь "Алексей"


А email свой потверждали ?

а мне на мыло ничего не приходило )))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 фев 2010, 13:58 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Отправку письма с подтверждением на WiKi поправили, теперь шлёт.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 фев 2010, 21:14 
Не в сети
Клиент

Зарегистрирован: 30 янв 2010, 15:06
Сообщения: 115
Карма: 0
Администратор писал(а):
Отправку письма с подтверждением на WiKi поправили, теперь шлёт.

а мне как по новой запросить?
может активируете уже? )))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 фев 2010, 14:38 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
активировали


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.058s | 40 Queries | GZIP : On ]