meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
hardware:mikrotik:scripts [2023/02/24 10:20] – [WoL] lchardware:mikrotik:scripts [2023/02/24 12:25] (actual) – [Scripts de ejemplo] lc
Línea 6: Línea 6:
 Podemos encontrar muchos ejemplos de scripts en https://www.adslzone.net/foro/mikrotik.199/manual-mikrotik-coleccion-scripting.575217/ Podemos encontrar muchos ejemplos de scripts en https://www.adslzone.net/foro/mikrotik.199/manual-mikrotik-coleccion-scripting.575217/
  
-==== Backup por Correo ==== +==== Permisos ==== 
-Por ejemplo vamos a crear un script de backup para que nos envíe por correo un backup del equipo+**Permisos disponibles** para los scripts. No todos son necesarios:
  
-{{:hardware:mikrotik:pasted:20230224-101245.png}}+  * **ftp** Acceder remotamente a un ftp y enviar y recibir ficheros desde el router 
 +  * **password** - cambiar contraseñas 
 +  * **policy** - gestionar políticas de usuario, añadir y eliminar usuarios 
 +  * **read** - leer la configuración del router 
 +  * **reboot** - reiniciar el router 
 +  * **sensitive** - permite cambiar parámetros “hide sensitive” 
 +  * **sniff** - puede ejecutar sniffer, torch etc… 
 +  * **test** - puede ejecutar ping, traceroute, bandwidth test… 
 +  * **write** - puede cambiar la configuración
  
-==== WoL ====+==== Ejecutar un script desde la terminal ==== 
 +<sxh bash>/system script run nombre_script</sxh> 
 + 
 +Para ver el resultado de un comando desde la terminal anteponer **:put** 
 + 
 +por ejemplo: <sxh>:put [/ip cloud get public-address] </sxh> 
 + 
 +==== Scripts de ejemplo ==== 
 +=== Enviar correo === 
 +<sxh>/tool e-mail send to="luiscarlos@ejemplo.com" subject="$[/system identity get name]" body="Prueba correo automático mikrotik"</sxh> 
 +=== Backup por Correo === 
 +<sxh> 
 +:local DeviceName [/system identity get name]; 
 + 
 +/system backup save dont-encrypt=yes name=$DeviceName; 
 +:delay 3; 
 +/export file=$DeviceName; 
 +:delay 3; 
 + 
 +/tool e-mail send to="luiscarlos@ejemplo.com"  subject="$DeviceName" file="$DeviceName.backup,$DeviceName.rsc"; 
 +:delay 10; 
 + 
 +/file remove "$DeviceName.backup"; 
 +/file remove "$DeviceName.rsc";</sxh> 
 + 
 +Si queremos que este script se ejecute, por ejemplo, cada 7 días . Vamos a /System/Scheduler y añadimos un evento y ponemos en el cuerpo del evento el nombre que le dimos al script 
 +{{:hardware:mikrotik:pasted:20230224-120120.png}} 
 + 
 + 
 + 
 + 
 +=== WoL ===
 Para encender un ordenador en remoto que tengamos conectado al Mikrotik, creamos el siguiente script y ponemos la MAC correspondiente al equipo que vamos a encender  Para encender un ordenador en remoto que tengamos conectado al Mikrotik, creamos el siguiente script y ponemos la MAC correspondiente al equipo que vamos a encender 
 <sxh> /tool wol interface=bridge1 mac=88:AE:DD:06:50:CB</sxh> <sxh> /tool wol interface=bridge1 mac=88:AE:DD:06:50:CB</sxh>
 +
 +=== Enviar estado del Mikrotik ===
 +<sxh>:local uptime [/system resource get uptime];
 +#:local CurrentTemp [/system health get [find name=temperature] value];
 +:local FreeMemory ([/system resource get free-memory] / 1024 / 1024);
 +:local TotalMemory ([/system resource get total-memory] / 1024 / 1024);
 +:local cpu [/system resource get cpu];
 +:local cpuCount [/system resource get cpu-count];
 +:local cpuFrequency [/system resource get cpu-frequency];
 +:local cpuLoad [/system resource get cpu-load];
 +:local freeHdd ([/system resource get free-hdd-space] / 1024 / 1024);
 +:local totalHdd ([/system resource get total-hdd-space] /1024 / 1024);
 +:local architectureName [/system resource get architecture-name];
 +:local boardName [/system resource get board-name];
 +:local version [/system resource get version];
 +:local DeviceName [/system identity get name];
 +
 +
 +# START Send Email
 +/tool e-mail send to="tucorreo@tucorreo.com" from=$DeviceName subject="\F0\9F\9A\80 $DeviceName System Status" body="IPv4: $ipv4\nIPv6: $ipv6\n\nTemp: $CurrentTemp C\nUptime: $uptime\nFree Memory: $FreeMemory MB\nTotal Memory: $TotalMemory MB\nCPU: $cpu\nCPU Count: $cpuCount\nCPU Frequency: $cpuFrequency MHz\nCPU Load: $cpuLoad %\nFree Disk: $freeHdd MB\nTotal Disk: $totalHdd MB\nArchitecture: $architectureName\nBoard Name: $boardName\nSoftware Version: $version"
 +# END Send Email
 +
 +:log info "Sent Email: WAN IP & System Status"
 +:log info "Sent Telegram: WAN IP & System Status"</sxh>
 +
 +==== Referencias ====
 +  * https://bandalibre.es/configuracion-de-scripts-y-automatizaciones-en-mikrotik/
 +  * https://www.raulprietofernandez.net/blog/mikrotik/como-enviar-mensajes-desde-mikrotik-y-routeros-a-telegram