Скрипт останавливается если натыкается на
script error: failure: entry already exists
как сделать игнорирование таких ошибок?
Конкретно ошибка вот в этом скрипте, если адрес уже был добавлен из другого источника, то при спотыкании об уже существующий адрес выдается ошибка и скрипт останавливается. Нужно игнорирование данной ошибки или удаление существующего, добавление нового, например.
Код: Выделить всё
## StopAD - Script for blocking advertisements, based on your defined hosts files
## For changing any parameters, please, use this link: https://stopad.cgood.ru/
##
## @github <https://github.com/tarampampam/mikrotik-hosts-parser>
## @version 4.3.0
##
## Setup this Policy for script: [X] Read [X] Write [X] Policy [X] Test
:local hostScriptUrl "https://stopad.cgood.ru/script/source?format=routeros&version=4.3.0&redirect_to=127.255.255.1&limit=12000&sources_urls=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Ftarampampam%2Fmikrotik-hosts-parser%40master%2F.hosts%2Fbasic.txt,https%3A%2F%2Fraw.githubusercontent.com%2Fcrazy-max%2FWindowsSpyBlocker%2Fmaster%2Fdata%2Fhosts%2Fspy.txt,https%3A%2F%2Fadaway.org%2Fhosts.txt,https%3A%2F%2Fwww.malwaredomainlist.com%2Fhostslist%2Fhosts.txt,https%3A%2F%2Fpgl.yoyo.org%2Fadservers%2Fserverlist.php%3Fhostformat%3Dhosts%26showintro%3D0%26mimetype%3Dplaintext,https%3A%2F%2Fsomeonewhocares.org%2Fhosts%2Fhosts,http%3A%2F%2Fwinhelp2002.mvps.org%2Fhosts.txt&excluded_hosts=localhost,localhost.localdomain,broadcasthost,local,ip6-localhost,ip6-loopback,ip6-localnet,ip6-mcastprefix,ip6-allnodes,ip6-allrouters,ip6-allhosts";
:local scriptName "stop_ad.script";
:local backupFileName "before_stopad";
:local logPrefix "[StopAD]";
do {
/tool fetch check-certificate=no mode=https url=$hostScriptUrl dst-path=("./".$scriptName);
:delay 3s;
:if ([:len [/file find name=$scriptName]] > 0) do={
/system backup save name=$backupFileName;
:delay 1s;
:if ([:len [/file find name=($backupFileName.".backup")]] > 0) do={
/ip dns static remove [/ip dns static find comment=ADBlock];
/import file-name=$scriptName;
/file remove $scriptName;
:log info "$logPrefix AD block script imported, backup file (\"$backupFileName.backup\") created";
} else={
:log warning "$logPrefix Backup file not created, importing AD block script stopped";
}
} else={
:log warning "$logPrefix AD block script not downloaded, script stopped";
}
} on-error={
:log warning "$logPrefix AD block script download FAILED";
};