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 � ������ �������� ��� ���������������� ���� �������. ������ ��� ����� ������� ����������� ��� ������� - ��� ������������� �������������� ���������� �� ������ ������ �����-������.
��������� �������� ����� �������� ��������������� ��� ������������ �������������:
����� ������ ������ �������� � �������� ���� ������ ������� (�����, 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 �����) |
��������� ������ ������������� ������ �������, ������ �� �������� � SQL ������� sgroups. ��������, ��� ��� ��������� ������� � ��������� ������� �������, �� ���������� ��� ������������� �� �������������.
���������� ����������. ����� ������� ��� ���������� ������������� ������� ��� �������� �� ������� �������� ��� ��� ������� ��������� ��������.
����� �� �������� ������ 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 ������ ���� ����� ��������� ������� ������ ���������� �����-����� - ������ � ���� ������ ��� ����� �������������� �� ��� ����. �������� ��� ���������� �� ��������� �������, ��� ������ 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'
, �� ������ ����� �������� �������
�����-���� � ��������� ������������������:
`.../prices/prices.ru.cf'
`.../prices/prices.cf'
`.../prices/prices.en.cf'
� ������ ������� �������� ������������ �����-������ ���� ���� ���������� - � ������ ��������� ���, ������ ������� ��� ������������ �������� ��������� �������� ������� �� ��� �����-����� ���������. ��� ����, ����� ����� ��������, ����� ��������������� ������ �������� ����������� �����-������:
��������� ��� ������� ����������� ����� ���� � ���������.
������ ��������� � ���������� � �������� �����:
# ������ �����-����� ��� �������� �������� # 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 (����-�� ������) ������ ��������������.