From aaad8070a6d52cd042eaa148c697673652422925 Mon Sep 17 00:00:00 2001 From: HalbeBruno Date: Thu, 16 Apr 2026 08:03:08 -0300 Subject: [PATCH] Script Backup em Servidor FTP - RoS v7 --- mikrotik/ftp_backup_roS-v7.rsc | 63 ++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 mikrotik/ftp_backup_roS-v7.rsc diff --git a/mikrotik/ftp_backup_roS-v7.rsc b/mikrotik/ftp_backup_roS-v7.rsc new file mode 100644 index 0000000..945480c --- /dev/null +++ b/mikrotik/ftp_backup_roS-v7.rsc @@ -0,0 +1,63 @@ +/system script +add dont-require-permissions=no name=bkp owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="# Backup automatico para FTP - RoS v7\r\ + \n##################################################\r\ + \n\r\ + \n# Configuracao FTP\r\ + \n:local ftphost \"172.31.68.10\"\r\ + \n:local ftpuser \"mikrotik\"\r\ + \n:local ftppassword \"AN4RtNm5*hK5VHLky!0JBzR0\"\r\ + \n\r\ + \n# Matriz de meses\r\ + \n:local months (\"jan\",\"feb\",\"mar\",\"apr\",\"may\",\"jun\",\"jul\",\"aug\",\"sep\",\"oct\",\"nov\",\"dec\");\r\ + \n\r\ + \n# 1. TRATAMENTO DA HORA\r\ + \n:local ts [/system clock get time]\r\ + \n# Remove os \":\" da hora para evitar problemas em sistemas de arquivos\r\ + \n:set ts ([:pick \$ts 0 2] . [:pick \$ts 3 5] . [:pick \$ts 6 8])\r\ + \n\r\ + \n# 2. TRATAMENTO DA DATA (Dinamico para v7)\r\ + \n:local ds [/system clock get date]\r\ + \n:local day; :local month; :local year; :local mm\r\ + \n\r\ + \n# Se a data contiver h\EDfen (formato yyyy-mm-dd)\r\ + \n:if (\$ds ~ \"-\") do={\r\ + \n :set year [:pick \$ds 0 4]\r\ + \n :set mm [:pick \$ds 5 7]\r\ + \n :set day [:pick \$ds 8 10]\r\ + \n} else={\r\ + \n # Se for formato mes/dia/ano (jan/15/2026)\r\ + \n :set month [:pick \$ds 0 3]\r\ + \n :set mm ([:find \$months \$month -1] + 1)\r\ + \n :if (\$mm < 10) do={ :set mm (\"0\" . \$mm) }\r\ + \n :set day [:pick \$ds 4 6]\r\ + \n :set year [:pick \$ds 7 11]\r\ + \n}\r\ + \n\r\ + \n:local datenew (\$day . \$mm . \$year)\r\ + \n\r\ + \n# 3. DEFINICAO DOS NOMES (Sem \"/\" no inicio)\r\ + \n:local identity [/system identity get name]\r\ + \n:local fname (\"MK-\" . \$identity . \"-\" . \$datenew . \"-\" . \$ts . \".backup\")\r\ + \n:local fname1 (\"MK-\" . \$identity . \"-\" . \$datenew . \"-\" . \$ts . \".rsc\")\r\ + \n\r\ + \n# 4. EXECUCAO DO BACKUP\r\ + \n:log info \"Iniciando Backup: \$fname\"\r\ + \n/system backup save name=\"\$fname\"\r\ + \n:delay 2s;\r\ + \n\r\ + \n:log info \"Iniciando Export: \$fname1\"\r\ + \n/export file=\"\$fname1\"\r\ + \n:delay 5s;\r\ + \n\r\ + \n# 5. ENVIO PARA O FTP\r\ + \n:log info \"Enviando arquivos para FTP \$ftphost...\"\r\ + \n/tool fetch address=\"\$ftphost\" src-path=\"\$fname\" user=\"\$ftpuser\" mode=ftp password=\"\$ftppassword\" dst-path=\"\$fname\" upload=yes\r\ + \n:delay 2s;\r\ + \n/tool fetch address=\"\$ftphost\" src-path=\"\$fname1\" user=\"\$ftpuser\" mode=ftp password=\"\$ftppassword\" dst-path=\"\$fname1\" upload=yes\r\ + \n\r\ + \n# 6. LIMPEZA LOCAL\r\ + \n:delay 5s;\r\ + \n:foreach i in=[/file find where name~\"MK-\"] do={\r\ + \n /file remove \$i\r\ + \n}\r\ + \n:log info \"Backup e envio concluidos com sucesso.\"" \ No newline at end of file