117 lines
4.3 KiB
Markdown
117 lines
4.3 KiB
Markdown
# Backup Automatizzato per MikroTik RouterOS
|
|
|
|
Questo script automatizza il processo di backup per un router MikroTik RouterOS, esportando la configurazione e inviandola via email.
|
|
|
|
## Informazioni Generali
|
|
|
|
- **Script creato da**: Mattia Tadini
|
|
- **Data creazione**: 2024-02-05
|
|
- **Ultima modifica**: 2024-11-19
|
|
- **Versione di RouterOS testata**: 7.16.1
|
|
- **Compatibilità**: Non funziona su versioni più vecchie di RouterOS 6.49 (processo di aggiornamento e nomi dei valori diversi)
|
|
|
|
## Funzionamento del Script
|
|
|
|
### Passaggi dell'Script
|
|
|
|
1. **Logging Inizio Backup**
|
|
```
|
|
:log info "Backup beginning now"
|
|
```
|
|
Registra l'inizio del processo di backup.
|
|
|
|
2. **Impostazione Variabili per l'Email**
|
|
```
|
|
:global mail brass@relay.poloinformatico.it
|
|
```
|
|
Imposta l'indirizzo email a cui verranno inviati i file di backup.
|
|
|
|
3. **Ottenimento della Data Corrente**
|
|
```
|
|
:global getadate [/system clock get date]
|
|
```
|
|
Ottiene la data corrente dal sistema del router e la memorizza nella variabile `getadate`.
|
|
|
|
4. **Creazione Nome del File di Backup**
|
|
```
|
|
:global backupfile (."BACKUP-". [/system identity get name] . "-" . [:pick $getadate 8 10 ] ."-". [:pick $getadate 5 7 ] . "-" . [:pick $getadate 0 4 ])
|
|
```
|
|
Crea il nome del file di backup, che include il nome dell'host del router e la data attuale.
|
|
|
|
5. **Creazione Nome del File di Esportazione Configurazione**
|
|
```
|
|
:global exportrsc (."RSC-". [/system identity get name] . "-" . [:pick $getadate 8 10 ] ."-". [:pick $getadate 5 7 ] . "-" . [:pick $getadate 0 4 ])
|
|
```
|
|
Crea il nome del file di esportazione configurazione, seguendo un formato simile.
|
|
|
|
6. **Esportazione della Configurazione**
|
|
```
|
|
/export file=$exportrsc
|
|
```
|
|
Esporta la configurazione corrente del router nel file specificato da `exportrsc`.
|
|
|
|
7. **Pausa di 10 Secondi**
|
|
```
|
|
:delay 10s
|
|
```
|
|
Attende 10 secondi.
|
|
|
|
8. **Salvataggio del Backup**
|
|
```
|
|
/system backup save name=$backupfile
|
|
```
|
|
Salva un backup completo della configurazione del router nel file specificato da `backupfile`.
|
|
|
|
9. **Pausa di 10 Secondi**
|
|
```
|
|
:delay 10s
|
|
```
|
|
Attende 10 secondi.
|
|
|
|
10. **Preparazione della Lista dei File**
|
|
```
|
|
:global files {$backupfile;$exportrsc}
|
|
```
|
|
Crea una lista di entrambi i file di backup e di esportazione configurazione che verranno inviati via email.
|
|
|
|
11. **Invio dell'Email con i File di Backup**
|
|
```
|
|
/tool e-mail send to=$mail subject=("Backup RouterOS on router " . [/system identity get name] . " Backup " . [:pick $getadate 8 10 ] ."-". [:pick $getadate 5 7 ] . "-" . [:pick $getadate 0 4 ]) file=$files
|
|
```
|
|
Invia un'email all'indirizzo specificato con un soggetto che indica la data del backup e il nome dell'host del router, inclusi i due file di backup.
|
|
|
|
12. **Logging Completamento Backup**
|
|
```
|
|
:log info "Backup finished"
|
|
```
|
|
Registra l'completion del processo di backup.
|
|
```
|
|
## Come Utilizzare lo Script
|
|
|
|
1. **Creazione del File `.nsh`**:
|
|
- Crea un nuovo file con estensione `.nsh`.
|
|
- Inserisci lo script fornito sopra nel file.
|
|
|
|
2. **Caricamento del Script sul Router**:
|
|
- Carica il file `.nsh` sul tuo router MikroTik usando l'interfaccia web di gestione o SSH.
|
|
- Esegui lo script dal terminale del router con il comando `system script run nome_script`.
|
|
|
|
3. **Programmazione del Backup (Facoltativo)**:
|
|
- Puoi programmare lo script per eseguirsi automaticamente ad intervalli regolari utilizzando la funzione di pianificazione dei task nel sistema del router.
|
|
|
|
### Note
|
|
|
|
- Assicurati che il tuo router sia connesso a Internet e che l'indirizzo email specificato abbia accesso alla tua posta.
|
|
- Verifica che il modulo `tool e-mail` sia installato sul tuo router. Puoi verificare questo dalla interfaccia web del router o utilizzando il comando `ip firewall service list`.
|
|
|
|
## Conclusioni
|
|
|
|
Questo script è un strumento utile per automatizzare i backup della configurazione di un MikroTik RouterOS, assicurandoti che le tue impostazioni siano sicure e facilmente ripristinabili nel caso di problemi o aggiornamenti del sistema.
|
|
|
|
---
|
|
|
|
### Contribuisci
|
|
|
|
Se vuoi contribuire al progetto, fai un fork del repository su Gitea e invia una pull request con le tue modifiche.
|
|
|
|
**Ricorda**: Assicurati che tutte le modifiche siano documentate nel manuale del progetto per facilitare la comprensione da parte di altri utenti. |