From a9d2fcc235ce8c67ac8a42e2d345a1c855bd62dc Mon Sep 17 00:00:00 2001 From: Grzegorz Budny Date: Mon, 14 Oct 2019 20:53:37 +0200 Subject: [PATCH] Initial Commit. First Release --- RouterOS_Cloud_Backup.rsc | 22 ++++++++++++++++++++++ RouterOS_File_Screening.rsc | 30 ++++++++++++++++++++++++++++-- RouterOS_Mail_Backup.rsc | 26 ++++++++++++++++++++++++++ RouterOS_Renew_License.rsc | 15 +++++++++++++++ 4 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 RouterOS_Cloud_Backup.rsc create mode 100644 RouterOS_Mail_Backup.rsc create mode 100644 RouterOS_Renew_License.rsc diff --git a/RouterOS_Cloud_Backup.rsc b/RouterOS_Cloud_Backup.rsc new file mode 100644 index 0000000..7551fcc --- /dev/null +++ b/RouterOS_Cloud_Backup.rsc @@ -0,0 +1,22 @@ +# RouterOS Function +# Copyright (c) Grzegorz Budny +# Create new backup file and uploads it to cloud + +:global CloudBackup do={ + + :local systemLicense [/system license get value-name=level]; + :local systemName [/system identity get name]; + + :if ($currentLicenseLevel != "free") do={ + + :log info "...:::License allows cloud backup, process started:::..." + + /system backup cloud upload-file action=create-and-upload file=cloudBackup.backup password=password + + /tool e-mail send server=$smtpServer port=$smtpPort from=($systemName.$domain) \ + to=$recipient subject=($systemName." cloud backup created.") body=($systemName." created MikroTik cloud backup."); + + :log info "...:::Cloud Backup Created:::..."; + + } +} \ No newline at end of file diff --git a/RouterOS_File_Screening.rsc b/RouterOS_File_Screening.rsc index 6609f95..b316946 100644 --- a/RouterOS_File_Screening.rsc +++ b/RouterOS_File_Screening.rsc @@ -1,2 +1,28 @@ -:global n [file get value-name=name number=2] -:if ($n ~ ".txt") do={/file remove $n} else={:put "No"} \ No newline at end of file +# RouterOS Function +# Copyright (c) Grzegorz Budny +# Removes files by specific name or file extansion + +:global FileScreening do={ + + :local systemName [/system identity get name]; + :local filesNumber [/file print count-only]; + + :local fileName; + + :for i from=0 to=$filesNumber step=1 do= \ + { + + :set fileName [/file get value-name=name number=$i]; + + :if ($fileName ~ $keyWord) do={ + + /file remove $fileName; + + :log warning ("...:::".$fileName." removed. Matched ".$keyWord.":::..."); + :set fileName; + + } + } +} + +$FileScreening keyWord=".txt"; diff --git a/RouterOS_Mail_Backup.rsc b/RouterOS_Mail_Backup.rsc new file mode 100644 index 0000000..043dd26 --- /dev/null +++ b/RouterOS_Mail_Backup.rsc @@ -0,0 +1,26 @@ +# RouterOS Function +# Copyright (c) Grzegorz Budny +# Creates backup and config file and sends them via email + +:global MailBackup do={ + + :local systemName [/system identity get name]; + + :log info "...:::Mail backup started:::..."; + + /export file=$configName; + /system backup save name=$backupName; + + /tool e-mail send server=$smtpServer port=$smtpPort from=($systemName.$domain) \ + to=$recipient subject=($systemName." mail config backup") body="Enclosed backup files" \ + file=$configName; + + /tool e-mail send server=$smtpServer port=$smtpPort from=($systemName.$domain) \ + to=$recipient subject=($systemName." mail backup") body="Enclosed backup files" \ + file=$backupName; + + :log info ("...:::Backup files sent to".$recipient.":::..."); +} + +$MailBackup configName=configName backupName=backupName smtpServer=smtpServer smtpPort=smtpPort domain=@example.com \ +recipient=recipient@example.com; diff --git a/RouterOS_Renew_License.rsc b/RouterOS_Renew_License.rsc new file mode 100644 index 0000000..b0eb6c6 --- /dev/null +++ b/RouterOS_Renew_License.rsc @@ -0,0 +1,15 @@ +# RouterOS Script +# Copyright (c) Grzegorz Budny +# Renews RouterOS License + +:global RenewLicense do={ + + :local currentLicenseLevel [/system license get value-name=level]; + + :if ($currentLicenseLevel = "free") do={ + + /system license renew account=$account password=$password level=$level; + :log info ("Renewing license for ".$account." to ".$level); + + } +} \ No newline at end of file