we had a automated backup script for our MTs to backup all devices. Since 6. something, sorry i dont know the script doesn t work anymore…
:log info “export beginning now”
:delay 1s
:global ipadress [/ip address get [find interface=“lo0”] address]
:delay 1s
:for i from=( [:len $ipadress] - 1) to=0 do={:if ( [:pick $ipadress $i] = “/”) do={:set $ipadress [:pick $ipadress 0 $i]}}
:delay 1s
:global boardname [/system resource get board-name]
:delay 1s
:for i from=( [:len $boardname] - 1) to=0 do={:if ( [:pick $boardname $i] = " “) do={:set boardname [:pick $boardname 0 $i]}}
:delay 1s
:global exportfilename ($ipadress . “-” . [/system identity get name] . “-” . $boardname . “-” . [/system resource get version] . “-” . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6])
:delay 1s
:global cmd1 “export file=$exportfilename”
:delay 10s
:global cmd2 “export comp file=$exportfilename-compact”
:delay 10s
:global cmd3 “export verbose file=$exportfilename”
:delay 10s
:global cmd4 “export file=$exportfilename-compact”
:delay 10s
:log info “exportfiles being created”
:delay 1s
#:if ([:pick [/system resource get version] 0 1 ]=5) do {execute $cmd1}
:delay 1s
#:if ([:pick [/system resource get version] 0 1 ]=5 and [:pick [/system resource get version] 2 4 ]>=12) do {execute $cmd2}
:delay 1s
#:if ([:pick [/system resource get version] 0 1 ]=6)
do {execute $cmd3}
:delay 1s
#:if ([:pick [/system resource get version] 0 1 ]=6)
do {execute $cmd4}
:delay 20s
:log info “export being transfered”
:delay 1s
:tool fetch address=10.0.0.0 (not the address) port=21 user=FTP-Backup password=password mode=ftp upload=yes src-path=(”$exportfilename" . “.rsc”) dst-path=(“$exportfilename” . “.rsc”)
:delay 5s
:tool fetch address=10.0.0.0 (not the address) port=21 user=FTP-Backup password=password mode=ftp upload=yes src-path=(“$exportfilename-compact” . “.rsc”) dst-path=(“$exportfilename-compact” . “.rsc”)
:delay 5s
:log info “export is transfered”
:delay 1s
:log info “remove exportfiles”
:delay 1s
/file remove “$exportfilename.rsc”
:delay 1s
/file remove “$exportfilename-compact.rsc”
:delay 1s
/system script environment remove [find name=ipadress]
:delay 1s
/system script environment remove [find name=exportfilename]
:delay 1s
/system script environment remove [find name=boardname]
:delay 1s
/system script environment remove [find name=cmd1]
:delay 1s
/system script environment remove [find name=cmd2]
:delay 1s
/system script environment remove [find name=cmd3]
:delay 1s
/system script environment remove [find name=cmd4]
:delay 1s
:log info “exportfiles removed”
:delay 1s
:log info “export finished”
any help on this
This is where the problem is:
:global exportfilename ($ipadress . "-" . [/system identity get name] . "-" . $boardname . "-" . [/system resource get version] . "-" . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6])
You need to collect only the version “6.35” and not the “(stable)”
you can uses this to get the version only
:global routeros [ /system package get number=0 value-name=version ]
The export file can not have “(” and “)” in the file name
export file=192.168.10.1-Bigfoot-RB2011UiAS-6.35 (stable)-2016apr24 —> “ERROR”
You need to have the cmd export like this:
export file=192.168.10.1-Bigfoot-RB2011UiAS-6.35-2016apr24
Change the tool fetch to:
/tool fetch address="192.168.0.105" port=21 user="mikrotik" password="mikrotik" mode=ftp upload=yes src-path=("$exportfilename" . ".rsc") dst-path=("$exportfilename" . ".rsc")
Modify script:
:log info "export beginning now"
:delay 1s
:global routeros [ /system package get number=0 value-name=version ]
:global ipadress [/ip address get [find interface="ether10_OmniTik"] address]
:delay 1s
:for i from=( [:len $ipadress] - 1) to=0 do={:if ( [:pick $ipadress $i] = "/") do={:set $ipadress [:pick $ipadress 0 $i]}}
:delay 1s
:global boardname [/system resource get board-name]
:delay 1s
:for i from=( [:len $boardname] - 1) to=0 do={:if ( [:pick $boardname $i] = " ") do={:set boardname [:pick $boardname 0 $i]}}
:delay 1s
:global exportfilename ($ipadress . "-" . [/system identity get name] . "-" . $boardname . "-" . $routeros . "-" . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6])
:delay 1s
:global cmd1 "export file=$exportfilename"
:delay 10s
:global cmd2 "export comp file=$exportfilename-compact"
:delay 10s
:global cmd3 "export verbose file=$exportfilename"
:delay 10s
:global cmd4 "export file=$exportfilename-compact"
:delay 10s
:log info "exportfiles being created"
:delay 1s
#:if ([:pick [/system resource get version] 0 1 ]=5) do {execute $cmd1}
:delay 1s
#:if ([:pick [/system resource get version] 0 1 ]=5 and [:pick [/system resource get version] 2 4 ]>=12) do {execute $cmd2}
:delay 1s
#:if ([:pick [/system resource get version] 0 1 ]=6)
do {execute $cmd3}
:delay 1s
#:if ([:pick [/system resource get version] 0 1 ]=6)
do {execute $cmd4}
:delay 20s
:log info "export being transfered"
:delay 1s
/tool fetch address="192.168.0.105" port=21 user="mikrotik" password="mikrotik" mode=ftp upload=yes src-path=("$exportfilename" . ".rsc") dst-path=("$exportfilename" . ".rsc")
:delay 5s
/tool fetch address="192.168.0.105" port=21 user="mikrotik" password="mikrotik" mode=ftp upload=yes src-path=("$exportfilename-compact" . ".rsc") dst-path=("$exportfilename-compact" . ".rsc")
:delay 5s
:log info "export is transfered"
:delay 1s
:log info "remove exportfiles"
:delay 1s
/file remove "$exportfilename.rsc"
:delay 1s
/file remove "$exportfilename-compact.rsc"
:delay 1s
/system script environment remove [find name=ipadress]
:delay 1s
/system script environment remove [find name=exportfilename]
:delay 1s
/system script environment remove [find name=boardname]
:delay 1s
/system script environment remove [find name=cmd1]
:delay 1s
/system script environment remove [find name=cmd2]
:delay 1s
/system script environment remove [find name=cmd3]
:delay 1s
/system script environment remove [find name=cmd4]
:delay 1s
:log info "exportfiles removed"
:delay 1s
:log info "export finished"
Hope it help you 
Hello again,
the Script is working again.
Sometimes its so easy.
Thanks, u made my day.