Wanting to send Backup to a VM running Linux needing help

I am trying to take backups from our Mikrotik routers and APs and trying to send them to a centralized VM running VMware and Linux. I have read a few post on here but getting stuck and am in need of some help. Not sure if the scripts I am using are the correct ones for Mikrotik or the right ones for Linux. Just want to check and see if anyone could help me out with that.

Setup a FTP server on the Linux machine and use the fetch command to upload the backup file.
Like this:

/tool fetch upload=yes mode=ftp address=1.1.1.1 user="USERNAME" password="PASSWORD" src-path="BACKUP.FILE" dst-path="BACKUP.FILE"

See the wiki page for more details on how to use it.
Here: http://wiki.mikrotik.com/wiki/Manual:Tools/Fetch

I don’t have the code for my backup script at hand right now, but I can get the full code tomorrow if you need an example.

You know that would be great to have as a reference thanks for responding so fast.

# FTP Backup (2014.10.21)
{
# Get and process time.
    :local timeString [/system clock get time]
    :set timeString ([:pick $timeString 0 2] . [:pick $timeString 3 5] . [:pick $timeString 6 8])
# Get and process date.
    :local dateString [/system clock get date]
    :set dateString ([:pick $dateString 7 11] . [:pick $dateString 0 3] . [:pick $dateString 4 6])
    :local month ("0" . ([:find ("jan"."feb"."mar"."apr"."may"."jun"."jul"."aug"."sep"."oct"."nov"."dec") [:pick $dateString 4 7] -1] / 3 + 1))
    :set month [:pick $month ([:len $month] - 2) [:len $month]]
    :set dateString ([:pick $dateString 0 4] . $month . [:pick $dateString 7 9])
# Get and process ID (serial-number or mac-address).
    :local idString
    :if ([/system routerboard get routerboard] = true) do={
        :set idString [/system routerboard get serial-number]
    } else={
# Get ether1's mac-address. (Backward compatibility for 5.x)
        :if ([/system resource get "version"] ~ "^5.") do={
            :set idString [/interface ethernet get 0 mac-address]
        } else={
            :set idString [/interface get [/interface find default-name=ether1] mac-address]
        }
        :set idString ([:pick $idString 0 2] . [:pick $idString 3 5] . [:pick $idString 6 8] . [:pick $idString 9 11] . [:pick $idString 12 14] . [:pick $idString 15 17])
    }
# This line to generate the file name.
    :local filename ("Backup-" . $idString . "-" . $dateString . "-" . $timeString . ".rsc")
    :put $filename
# Delete the old backup file(s).
    /file remove [/file find name~("^Backup-" . $idString . "-")]
# Create the new backup file.
    /export compact file=$filename
# Upload the backup to FTP server.
    /tool fetch mode=ftp user="USERNAME" password="PASSWORD" address=ftp.website.com src-path=$filename dst-path=$filename upload=yes
}

The script uses the serial-number and datetime as the file name.
It is actually made to be machine readable, as I have a small program that then pickup these files and add them to a SQL server,

The file I made is however an export of the configuration and not an actual backup, but it should be easy enough to change.
The latest backup file is kept on the router, this is mainly just for convenience of having it locally, you can just move the deletion of the file to after the upload if you don’t want this.