[�����] [������] [����������]

      convertstat [-uuser|-a] [-ofile] [-ifile] [-Yyear] [-Mmonth]
                  [-xlevel]

������������ ���������� �� ������ *.st � SQL ������� statistic (�� ���������) ��� �������� ����, �������������� �����-������� (����������� ���������� prices � ��������� ������������ - user.cf).

������ ����� ������������� ����� ��� ���� �������������, ���� ����� ���� `-a' , ��� ��� ����������� ������������, ��������� ������ `-u user' .

���� ������� ���� �� �����, �� ������������ ������ ���� `.st' ������ � �������� ������������ � ������������ �����������. � ��������� ������ (���� ����� � ������� `-i file' ) ������������ ������ ���������� �����.

��� ��� �������� �����, ��� � ��� ��������� ����� ���������� � ������� `~' (������). � ���� ������ ��������������� ���� ������ � ������������ �������� ������������ - ��� ������ ��� �������� ���������. ����� ����, � �������� ����� ����� ����� ���� � ����������� ���� - ( `-i-' ��� `-o-' ). � ���� ������ ����� ����������� ����������� ������� ��� �������� ����� ��������������.

������, �� ������� ���������� ������, convertstat ���������� �� ����������� ����� `.month', ������������ � �������� �������� �������. ���� ���� ����������� ������� monthly � �������� �� �� ���� ��� � �����, ������������� ��� ������� ��� ������������� (�� ����������� �������� ��� �������������� ������� �������).

������ ��������� ������������� ����������� ������ �� �����-���� �� ��������� ������� (���� ��� � ������ �� ������������� ��������). ��� ����, ����� ������� ��� ��������� ���������� ������ ������� ����� (���� `-M' ), ��� (���� `-Y' ) �, ���� �����, ��� �������� �����. ��� �������� ����� ��������������� ������� � ����������� ����� (���� `-o-' ). ������� ��� ������ ���� �� ��������� ��������� ��������� ���������� ������� ���������� � ���������, ������� �������� �� ����� ��������.

��� ������ ���������� � SQL ������� ��� ������������ ���������� �� ������������� ����� ������������ � ���������� �����. ������ ��������� � ����!

���� `-x' ����� ���� ����������� ��� �������.

����� ������ ���������� ������������� ������������ ����� ������� - ������ ��� �������� ������������ ���������� �������������� ���������� ��� �������. ��� ���� ���������� ������ ����������� � ��� - �������� �������� �������� ������ ������� � ������� ����������� - calcmail calctime.

����� ���������; ������, ������������ � ������� `#', � ������ ������ ������������. ������ �������� ������ ������ ��������� ��� ����, ����������� ��������� �/��� ����������� - "��� �������" (��������������� �����-�����) � "���������� �������". � ����� ����� ����������� ��������� ����� � ���������� ������ ������� - ������ ����� ����� ��������.

��������:

# �����������
#
t_uucp   10
m_nserv  1234
t_uucp   34

������ ������ ������ ����� ����� �������� ������� "t_uucp=44" � �������� "m_nserv=1234". � ������ �������� ��������� ���������� �������� � ��������� �����, ����� � ������ '_' (�������). ����������� �����, ������������ � �����. ������������� ������ ������������ ���� ����� - ������ ����� �������� ��� ������� (t - �����, m - ����� � �.�.); �����, ����� �������, ��������. ������� � ��������� ����� � ������ ����������� - mail � Mail - ������ ��������.

"���������� �������" ����� ���� ����� ��� ���������� ������; ������������� ��� �������������.

�����-����� ���������� ������������ ���� �������, �� ���������, ������� ���������, �������� ����� ������� � ����� �������, ������� ��������� �� .st-������. �����-����� �������� � ����������� `prices/' ��������� �������� ������� ���� � ������������ �������� ������������. � ��������� ������, ������ �� �����-���� �� ������������ ������������ ������������ ( user.cfs) ������ ���������� � ������� `~' (������). ���� � ������������ ������������ ������� ��������� �����-������, �� ��� �������� � ������� �������� ��� ���� ������� ����.

���� �����-����� ���������; ������ ������ � ������, ������������ � ������� `#' ������������. ������� ������ ����� ����������; ��� ����� ��������� �������� ������ ���� ��������� ������ `\' (�������� ����� �����). ������ ������ �����-����� ������� �� ����� ��� ����� �����; �������������, ��� ������ ����� ���������� � ��� �������, ��� ��� ��������� � �����-�����. ������ ������ ������� �� 4 �����, ����������� ��������� �/��� �����������:

�������� ��� �������

������ ��� ������� ����� ���������. ������ ��� ���������� � �������������� ������ �� �����. ����������� �� �������� ��� ������� �����-�� ��� � ��� ����� ������� � .st-������ - ��� ������ �������� �� �� �� �����, ��� 20 ��������. ��������� ��������� � ������� ���������� �����, ����� � ������ '_'. �������� ��� ������� �� ������ ���������� � �����. ����� ����, ����������� ������������ ��� ��� ��������� ����������������� ���� (�������� ����).

������� �������

������� ������ ������������ ����� �������� ������ ������� � ��������� � .st ������. ������� �������, ���������� ������� ����� ��������� � �������. ������� ����������� �� ������� �������� �������������� ��������, ��������� ������. ��������� � �������� ������ ������ �������� � �������� ���������� �������.

������ �������:

      "m_ncomm==0 ? (m_nserv+m_nnormal > 50000 ? 1 : 0) : 0"

� ���� ������� ����������� �������� m_ncomm (����� ���������� ������������ ��������); ���� ��� ����� ���� (������� �� ����������� ������������ �������), �� ����� m_nserv (������� �������) � m_nnormal (���������� �������������� ������) ������������ � 50000 (����� �� ������ �� ��������� help'�� � ������ ��������/�������); ���� "������" - �� ��������� ���������� '1', ����� '0'. ����� �������, � ��������� ���������, ��������� ������� ����� ������� ������ �����, ����� ������� �� ����������� ������������ �������� � ����� ������������� �������������� �������� 50000 ����.

��������� �������

��������� ������� �������. ������ ����� ���� ������� ���������, ��� ������������� � ������ �������� � ������������ ����������. ����� ��������� ��� ������� ����� ���� ������� ������������ ������. � ���� ������ ��������������� ���� ���������� �� ���� ���� ������, ���������� �� SQL ������� rates. ��������� � ������ ����� �������� ���� � � �������� ������ setrate.

�� ��������� ���������������, ��� ���� ������� � �������� �������� ������ ��� � �������� ������, ��������� ���������� price-currency ��������� ����������������� ����� �������. ��������� ��������� � ������������ �������� ������ � �������� �������. ��� ���� �������������� ����� �� ������������, ��� �������� ������ ��� ������� ���������� � ������, ���� ����� �������� price-currency.

������������ ������� �������

������������ ������� (���, �����, ���) ������������ ����������� ������� ��� ����������� ������ ��� ���� �� ��������� �������.

������ �� ������� � �������� ����� ���� �������� ������� ��� ������������� � �������������� ������� (���� � ����������� �������, ��������). �������� ����� ���� ������� �� ��������� ����� - ���������� ���� �� ��������, ��� ������ ������ �������� ������ ���������� �� ������� ���� � ������ ������� ��� ���������.

���� �������� �����������, �� ������ ������������� �������� �������������� ��� ������������ ����� ( �������� ����) �, ���� �� ������� �������� ���, SQL ������� snames � ������ �������� ��� ���������������� ���� �������. ������ ��� ����� ������� ����������� ��� ������� - ��� ������������� �������������� ���������� �� ������ ������ �����-������.

��������� �������� ����� �������� ��������������� ��� ������������ �������������:

group

����� ������ ������ �������� � �������� ���� ������ ������� (�����, on-line, bbs � �.�.). ������ ��������� �������� ������ �� ������ ����� ��������� ����� group -- ��� ����������� �������� �������� ������� � ��������� ���� ������.

����� ����, ��� ������������� � ����������� ��������, ������ group ����� ������ ������ ������ � ������� : (���������).

������:

# ������ �����-�����
#
group   �������� �������� �������
#
ms_kiae         ms_kiae/1024                            0.026   �����
        ������ � �������� �������� KIAE
ms_elvis        ms_elvis/1024                           0.026   �����
        ������ � �������� �������� ��� ��������
        WaisMail Elvis+
ms_f1           ms_f1/1024                              0.004   �����
        ��������� ������ �� ��������� ������� F1
#
group   ���������� ������������ ������
#
t_dip           t_dip/100                               0.040   ���
        Dialup TCP/IP (������ � Internet)
t_unix          t_unix/100                              0.030   ���
        ������ � Unix
t_uucp          "t_uucp/100/60>5        \
                 ? t_uucp/100/60-5      \
                 : 0                    \
                "                                       1.0     ���
        ����� �� ��������� UUCP
        (����� ���������� 5 �����)

gid

��������� ������ ������������� ������ �������, ������ �� �������� � SQL ������� sgroups. ��������, ��� ��� ��������� ������� � ��������� ������� �������, �� ���������� ��� ������������� �� �������������.

let

���������� ����������. ����� ������� ��� ���������� ������������� ������� ��� �������� �� ������� �������� ��� ��� ������� ��������� ��������.

����� �� �������� ������ let ����� �������/��������� ������ ��������� ����� ��� ���� - �������� ���������� ���������� � ������� �������. ��� � ��� ���������� �������, �������, ���������� �������, ������ ���� ��������� � ������� �������.

� ������� �� �������� �������, ��������� ���������� �� ������� ����������� � ���-�� ������� ������, ��� � �������� ����������. ����� �������, ��� ����������� ����������� �� ����� ���� ����������� ��� ������ (��������, ��� ���������������� ������� ���������� �������������).

���������� �������� � �������� ������� (����� �������� ������� ������������ ������� ������� � ������� ������ ��������). ����� ��� ������� ������������ ����� ��� ������ ���� (v_time_d), ������� (v_time_e) � ����� (v_time_n). ������� ������������ ����� ���� ������������� ��������� ���������� ����� (v_ftime) � 3 ���� (v_atime) �� ��� �������� � ���� ����������� �����. ��������� ���� � ������ ����� ����� ������, �� � ����� �����/������� ������ ���� ��������� � �� �������, ����� ���� ���� �� �� ����, � �� ���������� �������.

��������� ���������� � �������������� let:

#
# ���������� ����� ������ � ���� ����������� ����� (����� ���� ������ ��
# ������������� static.st ������������, ��������)
#
let     v_atime         "v_atime ? v_atime : 3*60"
#
# ������������ ����� ��������/���������/������� ������� � ����������� �����
#
let     _kd             1
let     _ke             0.5
let     _kn             0.25
#
# ����������� � ������ ������������ ����� ���� ��� ���������
#
let     v_time_d        v_time_d/100
let     v_time_e        v_time_e/100
let     v_time_n        v_time_n/100
let     v_ftime         v_ftime/100
#
# ������� ����� �������� ����� � ����� ����������� � ��������
#
let     _time           "v_time_d + v_time_e + v_time_n"
let     _time_d         "v_time_d*_kd + v_time_e*_ke + v_time_n*_kn"
let     _time_df        "_time_d - v_ftime"
#
# ��������� ������ ������ (>=20 �����, >=50 ����� � ����� 100 �����)
#
let     _dis            "_time_df <  20*60 ? 0 :        \
                        (_time_df <  50*60 ? 1 :        \
                        (_time_df < 100*60 ? 2 : 3))"
#
# ����� ����� ����������� � ����-����� �� ����������.
#
let     _x              "_time_d ? 1 - (v_atime+v_ftime)/_time_d : 0"
let     _x              "_x > 0 ? _x : 0"
let     _td             "v_time_d * _x"
let     _te             "v_time_e * _x"
let     _tn             "v_time_n * _x"
#
# ���������� ������� ��������
#
v_abon          "_time_df>10 && v_atime>0 ? 1 : 0"              41.667  -
        ����������� �����
v_abon_t        "_time_df > v_atime ? v_atime                   \
                                    : (_time_df>0 ? _time_df    \
                                                  : 0)"         0       ���
        ����� ������ � ���� ����������� �����
v_free          "v_ftime ? (_time_d < v_ftime ? _time_d : v_ftime) : 0" 0       ���
        ���������� ����������� �������
v_ftl           "_time_d > v_ftime ? 0 : v_ftime-_time_d"       0       ���
        ������� ����������� �����
v_time_0d       "_dis==0 ? _td : 0"                             0.2083  ���
        ����� ������ ����� ����������� ����� (07:00..20:00)
v_time_0e       "_dis==0 ? _te : 0"                             0.1250  ���
        ����� ������ ����� ����������� ����� (20:00..00:00)
v_time_0n       "_dis==0 ? _tn : 0"                             0.0750  ���
        ����� ������ ����� ����������� ����� (00:00..07:00)
v_time_1d       "_dis==1 ? _td : 0"                             0.1979  ���
        ����� ������ ����� ����������� ����� (07:00..20:00,
        ����� 20 �����, ������ 5%)
v_time_1e       "_dis==1 ? _te : 0"                             0.1186  ���
        ����� ������ ����� ����������� ����� (20:00..00:00,
        ����� 20 �����, ������ 5%)
v_time_1n       "_dis==1 ? _tn : 0"                             0.0713  ���
        ����� ������ ����� ����������� ����� (00:00..07:00,
        ����� 20 �����, ������ 5%)
v_time_2d       "_dis==2 ? _td : 0"                             0.1875  ���
        ����� ������ ����� ����������� ����� (07:00..20:00,
        ����� 50 �����, ������ 10%)
v_time_2e       "_dis==2 ? _te : 0"                             0.1125  ���
        ����� ������ ����� ����������� ����� (20:00..00:00,
        ����� 50 �����, ������ 10%)
v_time_2n       "_dis==2 ? _tn : 0"                             0.0675  ���
        ����� ������ ����� ����������� ����� (00:00..07:00,
        ����� 50 �����, ������ 10%)
v_time_3d       "_dis==3 ? _td : 0"                             0.1667  ���
        ����� ������ ����� ����������� ����� (07:00..20:00,
        ����� 100 �����, ������ 20%)
v_time_3e       "_dis==3 ? _te : 0"                             0.1000  ���
        ����� ������ ����� ����������� ����� (20:00..00:00,
        ����� 100 �����, ������ 20%)
v_time_3n       "_dis==3 ? _tn : 0"                             0.0600  ���
        ����� ������ ����� ����������� ����� (00:00..07:00,
        ����� 100 �����, ������ 20%)

setprices

��� ��������� ��������� ��� �������� ���� �� ��� ���� �������, ����������� � ����� ������� �����. ������ ��� ������ ������, ���� ��� ������-�� ����������� ������������ ��� ���� ����� � �����-�� ������ �� ������ �������� ������� ��� ��������� ����. � ���� ������, ��������� setprices ������ ���� ����� ��������� ������� ������ ���������� �����-����� - ������ � ���� ������ ��� ����� �������������� �� ��� ����. �������� ��� ���������� �� ��������� �������, ��� ������ price ������������� �������� �������� ����. ������:

...
ms_kiae         ms_kiae/1024                            0.026   �����
        ������ � �������� �������� KIAE
ms_elvis        ms_elvis/1024                           0.026   �����
        ������ � �������� �������� ��� ��������
        WaisMail Elvis+
...
#
# �������� ���� �� 10%
#
setprices       price*0.9

���� � �����-����� (��� ��������� ���� �� ������ �����-������) ����������� ��������� �������� ��� ���������� ���� �������, �� �������� ���������� �����. ��� �������� ������ ������������ ��� �������� ��������� �������������� ������������� ��������� �������������. ��������:

# ����� �����-����
#
m_russia        m_russia/1024                           0.02    �����
        ���������� �����
m_foreign       m_foreign/1024                          0.06    �����
        ���������� �����
...

# �������������� ���� � ������������, �������� ��� ������� ������� �������
#
m_russia        m_russia/1024                           0.01    �����
m_foreign       m_foreign/1024                          0.04    �����
...

# �������������� ���� � ������������, �������� ��� ������� ����������
#
m_russia        0                                       0.02    �����
m_foreign       0                                       0.06    �����
m_any           (m_russia+m_foreign)/1024               0.03    �����
        ����������� �����
...

��� �������� ����� ����� ������� �������� ������� ������� ����, ����� ��������� ������ � ����� �������� ��������� `.XX', ��� XX - ��� �����. ��������, ���� ������ �����-���� `prices.cf' � ��� ������������ ���������� ���� `ru', �� ������� ����� ������� ������� ��������� ���� `prices.ru.cf'. ����� �����, ������ �������� ������� ���� � ��� ������, ��� ��� �������, � � ������ ������ - �� ����������� ����� ��� ���������� �����. ����� �������, ���� ��������� ���� - `en', ���������������� - `ru' � ��������� ������� ���� `prices.cf', �� ������ ����� �������� ������� �����-���� � ��������� ������������������:

  1. `.../prices/prices.ru.cf'
  2. `.../prices/prices.cf'
  3. `.../prices/prices.en.cf'

� ������ ������� �������� ������������ �����-������ ���� ���� ���������� - � ������ ��������� ���, ������ ������� ��� ������������ �������� ��������� �������� ������� �� ��� �����-����� ���������. ��� ����, ����� ����� ��������, ����� ��������������� ������ �������� ����������� �����-������:

  1. ������� ������ �����-���� ��� ���� ������, �� ���������� �������� �������� � ����� ������� (������ �������� ����� ������� �������� �������� `gid' - �������� ����).
  2. � �������� ���� ������ �������� �������� �������� � �����. ��� ���� ��� ������� � �������� ����� ����������� ����������� � �������� �� �����-����� ��������� `serv_' ��� �������� � `sgrp_' ��� ���� �����.

��������� ��� ������� ����������� ����� ���� � ���������.

������ ��������� � ���������� � �������� �����:

# ������ �����-����� ��� �������� ��������
#
gid    fbmserv
ms_kiae  ms_kiae/1024                   0.026  kb
ms_f1    ms_f1/1024                     0.004  kb
#
gid    time
t_dip    t_dip/100                      0.040  min
t_unix   t_unix/100                     0.030  min

# ������ ������� � �������� �����
#
sgrp_fbmserv  "�������� �������� �������"
serv_ms_kiae  "�������� ������ KIAE - KiArchive"
serv_ms_f1    "�������� ������ F1"
sgrp_time     "���������� ������������� ������"
serv_t_dip    "������ � Internet �� ������������� �����"
serv_t_unix   "������ � Unix"
min           "���."
kb            "�����"

������ ����� ������������ ������������ ���������� �����, �� ������ � ����� ����� - ��� ��������� ��� �� ��������� ������ � ��������. ����� ����� ���� ������, ����� �������� �� �����������.

����� ����� �������� � SQL ������� rates � ��������� ���� � ������� ������ setrate. ��� ������� ����� �� ������� (�������� ��� �������������� ������� ������ convertstat �� daily) ���������� ����� ���������� ����� ������� �����. ��� ����, ���� � ������� ������ ���� ������ ��� �� ��� �����, �� �� ���� ���������� �������������� �������������� ������� �� ����� � ������������ ��������� ��������� ���� �� ������� ������. ����� �������, ������������� �������� ���� �� ������� ���� ���� ��� � ����� (����� ���������� ������� ���������������, ����� �����-����� �������� � ��������, � ��������������� � ����� ���� ��� � ����� �� ����������� ������ ������; �� ������ ������������ ����� �������, ��� �����-�� ����).

���� �� �� ����������� �������� ��� � ���� �������, �� ����������� ����� ��� �������������, ������ ������� rates (����-�� ������) ������ ��������������.


[�����] [������] [����������]