импорт mac в переменную
Добавлено: 22 мар 2015, 10:32
подскажите как с ip hotspot users импортировать mac-адреса всех юзеров в одну переменную.
Форум поддержи и обмена опытом пользователей оборудования RouterBOARD и операционной системы RouterOS Латвийского производителя MikroTik
https://forummikrotik.ru/
Код: Выделить всё
:foreach i in [/ip hotspot user find] do={:put [/ip hotspot user get $i mac-address ]}
vqd писал(а):как то такКод: Выделить всё
:foreach i in [/ip hotspot user find] do={:put [/ip hotspot user get $i mac-address ]}
Код: Выделить всё
global 2
:foreach i in=[/ip hotspot user find] do={:set 2 [/ip hotspot user get $i mac-address ]}
Код: Выделить всё
{
:local t;
:foreach i in=[/ip dhcp-server lease find] do={
:if ([/ip dhcp-server lease get $i status]="bound") do={
:set t ($t . "\r\n" . [/ip dhcp-server lease get $i status] . "-" . [/ip dhcp-server lease get $i mac-address])
}
}
:put $t
}
Код: Выделить всё
:local time [/system clock get time];
:local date;
:local day;
:local month;
:local year;
:local yeardiv;
:local yearmult;
:local leapyear;
:local lastday;
:local found;
:global counter;
:set date [system clock get date];
:set month [:pick $date 0 3];
:set day [:pick $date 4 6];
:set year [:pick $date 7 11];
:local hotusers "The time is - $date $time hotspot users: $counter";
:local macHotspot;
:foreach i in=[/ip hotspot user find] do={ :set macHotspot ($macHotspot . "\r\n" . [/ip hotspot user get $i mac-address])};
:local ContentsFile [/file get hotusers.txt contents];
/file set [/file find name=hotusers.txt] contents="$ContentsFile \r\n $hotusers $macHotspot \r\n";
:set counter 0;
:set yeardiv ($year / 4);
:set yearmult ($yeardiv * 4);
:if ([$yearmult] = $year) do={ :set leapyear true } else={ :set leapyear false }
:if ([$month] = "jan") do={ :set lastday 31 }
:if ([$month] = "feb") do={
:if ($leapyear = true) do={ :set lastday 29 }
:if ($leapyear = false) do={ :set lastday 28 } }
:if ([$month] = "mar") do={ :set lastday 31 }
:if ([$month] = "apr") do={ :set lastday 30 }
:if ([$month] = "may") do={ :set lastday 31 }
:if ([$month] = "jun") do={ :set lastday 30 }
:if ([$month] = "jul") do={ :set lastday 31 }
:if ([$month] = "aug") do={ :set lastday 31 }
:if ([$month] = "sep") do={ :set lastday 30 }
:if ([$month] = "oct") do={ :set lastday 31 }
:if ([$month] = "nov") do={ :set lastday 30 }
:if ([$month] = "dec") do={ :set lastday 31 }
:if ([$lastday] = $day) do={
:local body "$date $time hotspot report";
:local smtpserv [:resolve "smtp.yandex.ru"];
:local email "user@yandex.ru";
:local pass 123456;
/tool e-mail send server=$smtpserv port=587 user=$email password=$pass start-tls=yes to="user1@i.com" cc="user2@qwe.qwe.com" from=$email subject="Mikrotik hotspot report" body="$body" file="hotusers.txt";
delay 6;
/file remove hotusers.txt;
/file print file=hotusers.txt;
delay 6;
/file set hotusers.txt contents=""}
The time is - apr/01/2015 20:01:00 hotspot users: 10
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
The time is - apr/02/2015 20:01:00 hotspot users: 7
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ:ЧЧ
Код: Выделить всё
ip dhcp-server lease print terse file="1.txt" append
Код: Выделить всё
Код: Выделить всё
:global counter;
:set counter ($counter + 1);
:log info "number of logged users: $counter";