mirror of
https://github.com/gbudny93/RouterOS_Useful_Scripts.git
synced 2025-07-10 10:14:31 +02:00
160 lines
4.7 KiB
Markdown
160 lines
4.7 KiB
Markdown
# RouterOS_Useful_Scripts
|
|
> MikroTik RouterOS Scripts for various use and shared among different projects. Repository contains ready to use scripts as well functions ready to use in larger projects.
|
|
|
|

|
|
|
|
## Change log
|
|
|
|
- 7/29/2019
|
|
- RouterOS_Modulo.rsc
|
|
- Modulo operation
|
|
- RouterOS_Load_Script.rsc
|
|
- Loads RouterOS script to environment. If file is missing adds log entry
|
|
|
|
- 7/19/2019
|
|
- FTP_Backup_Template.rsc
|
|
- Schedules generation of *.backup* and *.rsc* file on RouterOS. Create FTP user dedicated for automatic backups. More on automatic RouterOS
|
|
backups can be found under dedicated project: :link: [Backup_mt by gbudny93](https://github.com/gbudny93/Backup_mt)
|
|
- RouterOS_Auto_Upgrade.rsc
|
|
- in progress
|
|
- RouterOS_Create_Directory.rsc
|
|
- Creates directory with specific name in RouterOS
|
|
- RouterOS_Log_Filtering.rsc
|
|
- Filters logs based on specified criteria: time or message and put in desired output
|
|
- RouterOS_Log_To_Alert.rsc
|
|
- Sends an email alert based on log message match
|
|
- RouterOS_Send_Email.rsc
|
|
- Sends email via SMTP server with common email parameters as function parameters
|
|
- RouterOS_File_Logging.rsc
|
|
- Adds log entry if file was added or removed
|
|
- RouterOS_LCD_Change.rsc (Applies only to physical devices with LCD)
|
|
- Changes LCD mode from dark to light and vice versa based on schedule set up
|
|
- RouterOS_Low_Disk_Space.rsc
|
|
- Sends email alert if disk space is under specified treshhold
|
|
- RouterOS_File_Screening.rsc
|
|
- in progress
|
|
- RouterOS_Eth_Errors_Handling.rsc
|
|
- in progress
|
|
- RouterOS_Config_Check.rsc
|
|
- in progress
|
|
|
|
- 6/14/2019 first release
|
|
- FTP_Backup_Template.rsc
|
|
- Schedules generation of *.backup* and *.rsc* file on RouterOS. Create FTP user dedicated for automatic backups. More on automatic RouterOS
|
|
backups can be found under dedicated project: :link: [Backup_mt by gbudny93](https://github.com/gbudny93/Backup_mt)
|
|
- RouterOS_Auto_Upgrade.rsc
|
|
- in progress
|
|
- RouterOS_Create_Directory.rsc
|
|
- Function that creates directory with specific name in RouterOS
|
|
- RouterOS_Log_Filtering.rsc
|
|
- in progress
|
|
- RouterOS_Log_To_Alert.rsc
|
|
- in progress
|
|
- RouterOS_Send_Email.rsc
|
|
- Fucntion sending email via SMTP server with common email parameters as function parameters
|
|
|
|
## Prerequisites
|
|
|
|
- :white_check_mark: RouterOS v6.40 or higher
|
|
- :white_check_mark: MikroTik CRS or CCR with LCD for RouterOS_LCD_Change.rsc
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
> Use the following scripts to make your RouterOS management easier or use them in various larger scripts or projects
|
|
:+1:
|
|
|
|
### FTP_Backup_Template.rsc
|
|
|
|
> This script creates two files via RouterOS scheduler as well creates FTP user and group:
|
|
- *.backup* file
|
|
- *.rsc* file
|
|
|
|
Script is a part of :link: [Backup_mt by gbudny93](https://github.com/gbudny93/Backup_mt) project.
|
|
|
|
### RouterOS_Auto_Upgrade.rsc
|
|
|
|
:soon:
|
|
|
|
### RouterOS_Create_Directory.rsc
|
|
|
|
> RouterOS function that creates directory with defined name in the system. Can be used just to create directory or be a part of larger project.
|
|
|
|
**Example**
|
|
```rascal
|
|
$CreateDirecotry userName=UserName password=Password directoryName=DirectoryName
|
|
```
|
|
|
|
### RouterOS_Log_Filtering.rsc
|
|
|
|
> RouterOS function for log messages filtering based on message or time match stored in chosed output.
|
|
|
|
```
|
|
$LogFilter;
|
|
```
|
|
|
|
### RouterOS_Log_To_Alert.rsc
|
|
|
|
> RouterOS function sending mail alert if log entry matches message criteria.
|
|
|
|
```
|
|
$LogToAlert message="message" fileName="fileName" smtpServer=smtpServer smtpPort=smtpPort domain="@example.com" \
|
|
recipient="recipient@example.com";
|
|
```
|
|
|
|
### RouterOS_Send_Email.rsc
|
|
|
|
> RouterOS function to send email via SMTP server. Function contains all common email fields like *to*, *cc*, *subject*, *body* and more. Function can be called itself in RouterOS or by other script.
|
|
|
|
**Example**
|
|
```
|
|
$SendEmail smtpServer=SMTPServer smtpPort=SMTPPort from=From to=To subject=Subject body=Body
|
|
```
|
|
|
|
### RouterOS_File_logging.rsc
|
|
|
|
> RouterOS function adding log entry if file was added or removed.
|
|
|
|
```
|
|
$FileToLog;
|
|
```
|
|
|
|
### RouterOS_LCD_Change.rsc
|
|
|
|
> RouterOS function changing LCD mode from dark to light and vice versa based on schedule setup.
|
|
|
|
```
|
|
$ChangeLcd lightModeStartTime="08:00:00" darkModeStartTime="17:00:00";
|
|
```
|
|
|
|
### RouterOS_Low_Disk_Space.rsc
|
|
|
|
> RouterOS function genersting mail alert if disk space is below defined treshhold.
|
|
|
|
```
|
|
$LowDiskSpace treshhold=free_disk_space_in_%;
|
|
```
|
|
|
|
### RouterOS_File_Screening.rsc
|
|
|
|
:soon:
|
|
|
|
### RouterOS_Eth_Errors_Handling.rsc
|
|
|
|
:soon:
|
|
|
|
### RouterOS_Config_Check.rsc
|
|
|
|
:soon:
|
|
|
|
## Authors
|
|
|
|
- Grzegorz Budny
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|