<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: удалить список адресов старше 7 дней]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме удалить список адресов старше 7 дней форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 31 Jul 2026 20:37:07 -0400</pubDate>
		<item>
			<title>удалить список адресов старше 7 дней</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430291">удалить список адресов старше 7 дней</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я протестировал это, и по какой-то причине это удаляет весь список, а не только записи старше 30 дней. К сожалению. <br />
			<i>16.03.2024 01:10:00, MLR.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430291</link>
			<guid>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430291</guid>
			<pubDate>Sat, 16 Mar 2024 01:10:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>удалить список адресов старше 7 дней</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430290">удалить список адресов старше 7 дней</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			RouterOS 7.10.+ использует дату в формате ISO, поэтому что-то вроде “ /ip firewall address-list remove [find where (creation-time&lt; $daysago and list= $theList )] ” работает без использования циклов и быстрее. Просто посчитай $daysago как 30 дней меньше, чем “сегодня”, если у RouterOS есть такие функции… $daysago = [:todate [:toepoch [([:timestamp] - 2592000)]] ] ] или лучше… $daysago = ([:now] - 30d) Но, поскольку я, вероятно, написал больше скриптовых функций, чем “программисты” RouterOS… <noindex><a href="http://forum.mikrotik.com/t/convert-uptime-to-date-and-time/157724/37" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/convert-uptime-to-date-and-time/157724/37</a></noindex> :global timetoseconds do={ :local inTime $1 :local wPos &nbsp; [:find $inTime “w” -1] :local dPos   [:find $inTime “d” -1] :local itLen  [:find $inTime “.” -1] ; :if ([:typeof $itLen] = “nil”) do={:set itLen [:len $inTime]} :local itSec  [:pick $inTime ($itLen - 2) $itLen] :local itMin  [:pick $inTime ($itLen - 5) ($itLen - 3)] :local itHou  [:pick $inTime ($itLen - 8) ($itLen - 6)] :local itDay  0 :local itWee  0 :if (([:typeof $wPos] = “nil”) and ([:typeof $dPos] = “num”)) do={:set itDay [:pick $inTime 0 $dPos] } :if (([:typeof $wPos] = “num”) and ([:typeof $dPos] = “num”)) do={:set itDay [:pick $inTime ($wPos + 1) $dPos] } :if  ([:typeof $wPos] = “num”)                                do={:set itWee [:pick $inTime 0 $wPos] } :local totitSec ($itSec + (60 * $itMin) + (3600 * $itHou) + (86400 * $itDay) + (604800 * $itWee)) :return $totitSec } :global unixtodatetime do={ :local ux [:tonum $1] :local Fzerofill do={:return [:pick (100 + $1) 1 3]} :local prMntDays [:toarray “0,0,31,59,90,120,151,181,212,243,273,304,334”] :local vgmt      [:tonum [/system clock get gmt-offset]]; :if ($vgmt &gt; 0x7FFFFFFF) do={:set vgmt ($vgmt - 0x100000000)} :if ($vgmt &lt; 0) do={:set vgmt ($vgmt * -1)} :local tzepoch   ($ux + $vgmt) :if ($tzepoch &lt; 0) do={:set tzepoch 0} ; # неподдерживаемый отрицательный unix epoch :local yearStart (1970 + ($tzepoch / 31536000)) :local tmpbissex (($yearStart - 1968) / 4) ; :if ((($yearStart - 1968) % 4) = 0) do={:set ($prMntDays-&gt;1) -1 ; :set ($prMntDays-&gt;2) 30} :local tmpsec    ($tzepoch % 31536000) :local tmpdays   (($tmpsec / 86400) - $tmpbissex) :if (($tmpsec &lt; (86400 * $tmpbissex)) and ((($yearStart - 1968) % 4) = 0)) do={ :set tmpbissex ($tmpbissex - 1) ; :set ($prMntDays-&gt;1) 0 ; :set ($prMntDays-&gt;2) 31 ; :set tmpdays  ($tmpdays + 1) } :if ($tmpsec &lt; (86400 * $tmpbissex)) do={:set yearStart ($yearStart - 1) ; :set tmpdays   ($tmpdays + 365)} :local mnthStart 12 ; :while (($prMntDays-&gt;$mnthStart) &gt; $tmpdays) do={:set mnthStart ($mnthStart - 1)} :local dayStart  [$Fzerofill (($tmpdays + 1) - ($prMntDays-&gt;$mnthStart))] :local timeStart (00:00:00 + [:totime ($tmpsec % 86400)]) :return “$yearStart/$[$Fzerofill $mnthStart]/$[$Fzerofill $dayStart] $timeStart” } { :local theList “bannedList” :local hmanyds 30 :local daysago [$unixtodatetime [$timetoseconds ([:timestamp] - ($hmanyds * 86400))]] /ip firewall address-list remove [find where (creation-time&lt;$daysago and list=$theList)] } <br />
			<i>30.10.2023 08:26:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430290</link>
			<guid>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430290</guid>
			<pubDate>Mon, 30 Oct 2023 08:26:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>удалить список адресов старше 7 дней</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430289">удалить список адресов старше 7 дней</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Удалить значения адресов, которые были созданы ровно 30 дней назад. :global datetime2epoch do={:local dtime [:tostr $1] /system clock :local cyear [get date] ; :if ($cyear ~ "....-..-..") do={:set cyear [:pick $cyear 0 4]} else={:set cyear [:pick $cyear 7 11]} :if (([:len $dtime] = 10) or ([:len $dtime] = 11)) do={:set dtime "$dtime 00:00:00"} :if ([:len $dtime] = 15) do={:set dtime "$[:pick $dtime 0 6]/$cyear $[:pick $dtime 7 15]"} :if ([:len $dtime] = 14) do={:set dtime "$cyear-$[:pick $dtime 0 5] $[:pick $dtime 6 14]"} :if ([:len $dtime] =  8) do={:set dtime "$[get date] $dtime"} :if ([:tostr $1] = "") do={:set dtime ("$[get date] $[get time]")} :local vdate [:pick $dtime 0 [:find $dtime " " -1]] :local vtime [:pick $dtime ([:find $dtime " " -1] + 1) [:len $dtime]] :local vgmt  [get gmt-offset]; :if ($vgmt &gt; 0x7FFFFFFF) do={:set vgmt ($vgmt - 0x100000000)} :if ($vgmt &lt; 0) do={:set vgmt ($vgmt * -1)} :local arrm  [:toarray "0,0,31,59,90,120,151,181,212,243,273,304,334"] :local vdoff [:toarray "0,4,5,7,8,10"] :local MM    [:pick $vdate ($vdoff-&gt;2) ($vdoff-&gt;3)] :local M     [:tonum $MM] :if ($vdate ~ ".../../....") do={ :set vdoff [:toarray "7,11,1,3,4,6"] :set M     ([:find "xxanebarprayunulugepctovecANEBARPRAYUNULUGEPCTOVEC" [:pick $vdate ($vdoff-&gt;2) ($vdoff-&gt;3)] -1] / 2) :if ($M&gt;12) do={:set M ($M - 12)} } :local yyyy  [:pick $vdate ($vdoff-&gt;0) ($vdoff-&gt;1)] ; :if ((($yyyy - 1968) % 4) = 0) do={:set ($arrm-&gt;1) -1; :set ($arrm-&gt;2) 30} :local totd  ((($yyyy - 1970) * 365) + (($yyyy - 1968) / 4) + ($arrm-&gt;$M) + ([:pick $vdate ($vdoff-&gt;4) ($vdoff-&gt;5)] - 1)) :return      (((((($totd * 24) + [:pick $vtime 0 2]) * 60) + [:pick $vtime 3 5]) * 60) + [:pick $vtime 6 8] - $vgmt) }<br /><br /> &nbsp; &nbsp; &nbsp;:local currDate [/system clock get date] :log info $currDate :local currDateSeconds [$datetime2epoch $currDate] :local aDayinSeconds "2592000"      #измените это значение, чтобы получить количество дней (в одной сутках = 86400 x количество дней), в данном случае 259200 = 30 дней :local DSR :set DSR ([:tonum $currDateSeconds]-[:tonum $aDayinSeconds])<br /><br />#########################################################################xxxxxxxxxxxxxxxxxxxxxxxxxxx<br /><br />:global unixtodatetime do={ :local ux [:tonum $1] :local Fzerofill do={:return [:pick (100 + $1) 1 3]} :local prMntDays [:toarray "0,0,31,59,90,120,151,181,212,243,273,304,334"] :local vgmt      [:tonum [/system clock get gmt-offset]]; :if ($vgmt &gt; 0x7FFFFFFF) do={:set vgmt ($vgmt - 0x100000000)} :if ($vgmt &lt; 0) do={:set vgmt ($vgmt * -1)} :local tzepoch   ($ux + $vgmt) :if ($tzepoch &lt; 0) do={:set tzepoch 0} ; # отрицательный unixepoch не поддерживается :local yearStart (1970 + ($tzepoch / 31536000)) :local tmpbissex (($yearStart - 1968) / 4) ; :if ((($yearStart - 1968) % 4) = 0) do={:set ($prMntDays-&gt;1) -1 ; :set ($prMntDays-&gt;2) 30} :local tmpsec    ($tzepoch % 31536000) :local tmpdays   (($tmpsec / 86400) - $tmpbissex) :if (($tmpsec &lt; (86400 * $tmpbissex)) and ((($yearStart - 1968) % 4) = 0)) do={ :set tmpbissex ($tmpbissex - 1) ; :set ($prMntDays-&gt;1) 0 ; :set ($prMntDays-&gt;2) 31 ; :set tmpdays  ($tmpdays + 1) } :if ($tmpsec &lt; (86400 * $tmpbissex)) do={:set yearStart ($yearStart - 1) ; :set tmpdays   ($tmpdays + 365)} :local mnthStart 12 ; :while (($prMntDays-&gt;$mnthStart) &gt; $tmpdays) do={:set mnthStart ($mnthStart - 1)} :local dayStart  [$Fzerofill (($tmpdays + 1) - ($prMntDays-&gt;$mnthStart))] :local timeStart (00:00:00 + [:totime ($tmpsec % 86400)]) :return "$yearStart/$[$Fzerofill $mnthStart]/$[$Fzerofill $dayStart] $timeStart" }<br /><br />:local DATE [$unixtodatetime $DSR]<br /><br />:local YYYY [:pick $DATE 0 4] :local mm [:pick $DATE 5 7] :local DD [:pick $DATE 8 10] :local LASTDAY "$YYYY-$mm-$DD"<br /><br />:log info $LASTDAY <br /><br />{ :foreach i in=[/ip firewall address-list find where creation-time~"$LASTDAY" && list~"mylist"] do={ :local address [/ip firewall address-list get $i address] :log info "Удаление $address из mylist" /ip firewall address-list remove $i } } <br />
			<i>29.10.2023 17:17:00, MLR.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430289</link>
			<guid>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430289</guid>
			<pubDate>Sun, 29 Oct 2023 17:17:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>удалить список адресов старше 7 дней</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430288">удалить список адресов старше 7 дней</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Есть ли кто-нибудь, кто может написать этот скрипт? Мне также нужен подобный скрипт, который бы удалял адреса из списка старше 60 дней. Я не могу использовать настройки таймаута динамического IP из-за сбоев в электроснабжении. <br />
			<i>17.10.2023 07:21:00, MLR.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430288</link>
			<guid>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430288</guid>
			<pubDate>Tue, 17 Oct 2023 07:21:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>удалить список адресов старше 7 дней</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430287">удалить список адресов старше 7 дней</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Как мне указать срок действия в списке адресов? <br />
			<i>16.01.2022 20:03:00, shafiqrahman.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430287</link>
			<guid>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430287</guid>
			<pubDate>Sun, 16 Jan 2022 20:03:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>удалить список адресов старше 7 дней</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430286">удалить список адресов старше 7 дней</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Нашел эту тему: <noindex><a href="http://forum.mikrotik.com/t/i-did-it-script-to-compute-unix-time/68576/1" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/i-did-it-script-to-compute-unix-time/68576/1</a></noindex> Если я смогу изменить скрипт, чтобы он принимал ввод, попытаюсь сделать скрипт, который будет конвертировать поле времени в эпохальное время. Тогда должно быть легко вычислить, старше ли 7 дней. <br />
			<i>04.05.2020 08:53:00, Jotne.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430286</link>
			<guid>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430286</guid>
			<pubDate>Mon, 04 May 2020 08:53:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>удалить список адресов старше 7 дней</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430285">удалить список адресов старше 7 дней</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Работает отлично!!! Огромное спасибо <br />
			<i>04.05.2020 08:45:00, aleab.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430285</link>
			<guid>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430285</guid>
			<pubDate>Mon, 04 May 2020 08:45:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>удалить список адресов старше 7 дней</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430284">удалить список адресов старше 7 дней</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Просто добавьте значение в поле "timeout" ?? Например, в /ip/firewall/list можно "добавить", как add address=X.X.X.X list=mylist timeout= Это значение может быть: 5s, 5m, 3h, 7d и так далее. <br />
			<i>16.01.2022 22:02:00, jvanhambelgium.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430284</link>
			<guid>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430284</guid>
			<pubDate>Sun, 16 Jan 2022 22:02:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>удалить список адресов старше 7 дней</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430283">удалить список адресов старше 7 дней</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Могу ли я настроить скрипт, который будет удалять все элементы старше 7 дней в определённом списке адресов? Спасибо. <br />
			<i>19.04.2020 17:16:00, aleab.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430283</link>
			<guid>http://mikrotik.moscow/forum/forum57/88782-udalit-spisok-adresov-starshe-7-dney/message430283</guid>
			<pubDate>Sun, 19 Apr 2020 17:16:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
