вторник, 16 января 2018 г.

Ежедневная смена пароля на роутере Mikrotik на пароль построенный по дате

Вводная: "Иван, у меня есть тривиальная задача для микротик. Мне нужно ежедневно в 12 часов ночи менять пароль на вай-фае на текущую дату без точек (16012017 например вот так). Я так думаю, что можно решить скриптом, но не знаю, честно говоря, с какой стороны к этой проблеме подойти"

Решение: Идею взял на http://kvas.livejournal.com/679174.html

:local wifiProfile wifiMyProfile

:local dateNow [/system clock get date];
:local dateNowDay [:pick $dateNow 4 6]
:local dateNowMonth [:pick $dateNow 0 3]
:local dateNowYear [:pick $dateNow 7 11]

:local months ("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
:set dateNowMonth ([:find $months $dateNowMonth -1 ] + 1)

:if ( $dateNowMonth < 10 ) do={
:set $dateNowMonth ("0"."$dateNowMonth");
};

:log info message="==== NOW DATE: day: $dateNowDay month: $dateNowMonth year: $dateNowYear"

:local newPassword ("$dateNowDay" . "$dateNowMonth" . "$dateNowYear");
:log info message="==== NEW PASSWORD: $newPassword"

/interface wireless security-profiles set [find name=$wifiProfile] wpa2-pre-shared-key=$newPassword


Всё это добавляется в System-Script и вызывается в 0:05 через шедулер.