Κεντρικό config auto-backup

senortiago

Administrator
Staff member
Χρειαζόμαστε ένα script(?) να παίρνει αυτόματα backup το config και να τα αποθηκεύει στον .6.66 πχ μια φορά την εβδομάδα ή τον μήνα.

Παραθέτω μερικά links που έχω βρεί και θα δοκιμάσω..
https://blog.sleeplessbeastie.eu/2012/06/08/mikrotik-automated-configuration-backup/
https://gist.github.com/ranzhe/8435acff931f73149db0
http://wiki.mikrotik.com/wiki/Automatic_Backup_with_Centralized_Storage_-_By_Ashish_Patel
http://wiki.mikrotik.com/wiki/Send_Backup_email
 

Axrst

da SysOp
Staff member
Το λεπόν, αφού βαριόταν ο senior με έχωσε εμένα :p

Πρώτον σώζετε αυτό το script που παίνρει backup:

Code:
:local saveUserDB true
:local saveSysBackup true
:local encryptSysBackup false
:local saveRawExport true

:local FTPServer "10.224.6.66"
:local FTPPort 21
:local FTPUser "rbbackup"
:local FTPPass "1174"


:local ts [/system clock get time]
:set ts ([:pick $ts 0 2].[:pick $ts 3 5].[:pick $ts 6 8])

:local ds [/system clock get date]
:set ds ([:pick $ds 7 11].[:pick $ds 0 3].[:pick $ds 4 6])

:local fname ("BACKUP-".[/system identity get name]."-".$ds."-".$ts)
:local sfname ("/".$fname)

:if ($saveUserDB) do={
  /tool user-manager database save name=($sfname.".umb")
  :log info message="User Manager DB Backup Finished"
}

:if ($saveSysBackup) do={
  :if ($encryptSysBackup = true) do={ /system backup save name=($sfname.".backup") }
  :if ($encryptSysBackup = false) do={ /system backup save dont-encrypt=yes name=($sfname.".backup") }
  :log info message="System Backup Finished"
}

if ($saveRawExport) do={
  /export file=($sfname.".rsc")
  :log info message="Raw configuration script export Finished"
}

:local backupFileName ""

:foreach backupFile in=[/file find] do={
  :set backupFileName ("/".[/file get $backupFile name])
  :if ([:typeof [:find $backupFileName $sfname]] != "nil") do={
    /tool fetch address=$FTPServer port=$FTPPort src-path=$backupFileName user=$FTPUser mode=ftp password=$FTPPass dst-path=$backupFileName upload=yes
  }
}

:delay 5s

:foreach backupFile in=[/file find] do={
  :if ([:typeof [:find [/file get $backupFile name] "BACKUP-"]]!="nil") do={
    /file remove $backupFile
  }
}

:log info message="Successfully removed Temporary Backup Files"
:log info message="Automatic Backup Completed Successfully"
Δεύτερον, το ανεβάζετε στον router σας (σε όλους τους router σας) ΑΦΟΥ έχετε ρυθμίσει σωστά το όνομα του και την ημερομηνία του. Να ξέρουμε ποιού είναι ποιό.

Αν δεν ξέρετε κάνετε το εξής:
από το terminal,
Code:
/system script
add name="rbbackup"
Μετά το κάνετε edit και copy και paste το παραπάνω scriptaki. και save. Υπάρχουν κι άλλοι τρόποι (πχ να το στείλετε με ftp και να το δηλώσετε κατά τη δημιουργία. Ψάξτε)

Τέλος, κάνουμε schedule να τρέχει μιά φορά το μήνα. Πάλι από το terminal:
Code:
/system scheduler
add disabled=no interval=4w name=ftp-backup-schedule \
    on-event="/system script run rbbackup" \
    start-date=jan/08/1970 start-time=5:50:00
Και έτσι θα τα στέλνει στον ftp του wana μια φορά το μήνα. Αν τα βάλουμε σε κάθε router θα έχουμε το κεφάλι μας ήσυχο.
 

Axrst

da SysOp
Staff member
Το πέρασα σε fkids (x2), musicace, rsa, zaf.
Τα απλά 433 πάντως είδα οτι ζορίζονται. Φτάνουν 100% cpu load την ώρα (λίγα δευτερόλεπτα) του Backup.
 

Axrst

da SysOp
Staff member
Δεν είναι η μεταφορά το πρόβλημα. Η δημιουργία του backup είναι που πάντοτε γίνεται από το τρέχον μηχάνηζμα.
 

Axrst

da SysOp
Staff member
Λοιπόν ανακάλυψα οτι σε κάποια routers δεν έτρεχε το script. Στο ένα των FK, το διόρθωσα γιατί ήταν θέμα του scheduler. Στου Κόκλα όμως, έχει πρόβλημα γιατί φαίνεται να λείπουν πακέτα όπως το user-manager.

Οπότε παρακαλείται ο Κορκόδειλας, να κάνει ένα upgrade και να βάλει ΌΛΑ τα πακέτα (ή να ψάξει ότι χρειάζεται) ή έστω να προσθέσει αυτά που λείπουν. Θα μας πάθει τίποτα και θα τρέχουμε.

Επίσης, όλα τα backup του 2016, τα συμπίεσα και τα έβαλα σ' έναν φάκελο 2016 μέσα στον τρέχοντα φάκελο του ftp server που γίνεται το backup.
 

Axrst

da SysOp
Staff member
Ποιόν συνάνθρωπο να βοηθήσω ρε, που (μιας και είχε ρεπό το online pacman σήμερα) μπήκα να στο κανω, και στο ένα δεν έχεις τα πακέτα, και στο άλλο, δεν έχει πρόσβαση το tt στο terminal (ούτε βέβαια υπάρχουν τα έξτρα πακέτα).

Στο 8.65 το πέρασα το script αλλά δεν τρέχει αν δεν βάλεις user-manager κτλ. Στο 8.66 δεν μοι επιτρεπόταν. Βάλε τα πακέτα και δώσε πρόσβαση να το ολοκληρώσω.
 

Axrst

da SysOp
Staff member
Τελευταία, βλέπω στο backup οτι κάποιος router στέλνει αρχεία χωρίς όνομα. Πχ BACKUP-.--2021jan26-053000.umb Απ' ότι είδα στο log file, πρέπει να είναι το Γρηγόρη το 7.3. Το παράδοξο είναι οτι εκτός από το αρχείο χωρίς όνομα, στέλνει και με όνομα κανονικά. Γρηγόρη για ρίξε μια ματιά. Εγώ το κοίταξα και φαίνεται εντάξει το όνομα του router σου. Μπορεί να έχει πειραχτεί κάτι στο script. Εν ανάγκη, τρέξτο να δεις τι αρχεία δημιουργεί επί τόπου και σβήσε το ανώνυμο.

(000285)26/1/2021 5:30:04 πμ - rbbackup (10.224.7.3)> STOR /BACKUP-router2.wildbird.wana-2021jan26-053000.umb
(000286)26/1/2021 5:30:04 πμ - rbbackup (10.224.7.3)> STOR /BACKUP-.--2021jan26-053000.umb
 
Top