update docusaurus to 3.0.0

This commit is contained in:
Artur Akmalov
2023-11-30 03:56:16 +05:00
parent b71fdcca6f
commit 9407ec1aae
11 changed files with 5745 additions and 1818 deletions
+90
View File
@@ -0,0 +1,90 @@
---
sidebar_position: 6
---
# Mikrotik
## Tips and Tricks
Всякие мелочи
## Mikrotik узнать внешний IP адрес
Иногда возникает необходимость на удаленном устройстве быстро посмотреть внешний IP адрес.
```
/tool fetch url="https://wtfismyip.com/text" keep-result=yes; delay 1s; :put [file get text contents]
```
Одна строка, включает 3 команды.
- GET запрос и сохранение результата
- Задержка для сохранения файла
- Вывод содержимого
## Mikrotik отправить сообщение Telegram
Нужен ТОКЕН бота (создается через @Botfather по инструкции)
Token выглядит примерно так: `1064657353:AAFH1MioTXgrmHGZмAr-XcGE18BShD5ud0Y`
Дальше нужно получить chatID
```
https://api.telegram.org/bot*API_token*/getUpdates
```
Открыть в браузере, где необходимо найти строку **chat id**:
Например:
- API Token: 1064657353:AAFH1MioTXgrmHGZмAr-XcGE18BShD5ud0Y
- chat id: :268900781
**Отправка сообщения через микротик тест бота**
Команда для проверки работоспособности:
```
/tool fetch url="https://api.telegram.org/botAPI_TOKEN/sendMessage\?chat_id=CHAT_ID&text=test"
```
(Подставить свои API_TOKEN и CHAT_ID)
>failure: closing connection: `400 Bad Request`
При такой ошибке надо проверять синтаксис команды
Для использования кириллицы (использовать русские буквы) в Router OS можно использовать UTF кодирование.
Например:
**Упал канал**`%D0%A3%D0%BF%D0%B0%D0%BB+%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB`
Онлайн кодирование [ссылка](http://www.codenet.ru/services/urlencode-urldecode/)
## Выполнение скрипта (команды) ежемесячно на Router OS
Данный скрипт я использую чтобы ежемесячно стирать накопленный трафик на вкладке Queues.
Сброс или обнуление счетчика трафика simple queues
**Описание**
Скрипт каждый день проверяет какое сегодня число и если сегодня «первое» число то выполняет команду
Узнать какой сегодня день (создает глобальную переменную с актуальной датой):
```
:global day [:pick [/system clock get date] 4 6]
```
Условие «если сегодня первое число» то сбросить все счётчики в /queue simple
```
:if ($day="01") do={/queue simple reset-counters-all}
```
Добавляю этот скрипт в расписание **system -> schedule** и запускаю в 00:00:01 с интервалом в один день.
Когда вариант с **schedule** с интервалом в 30d меня не устраивает, и нужно именно каждый новый месяц