├── README.md └── backup.sh /README.md: -------------------------------------------------------------------------------- 1 | # This script is outdated. 2 | 3 | Latest code of this script can be found [here](https://github.com/dntsk/mikrotik-backup) 4 | 5 | # Backup remote mikrotik config 6 | 7 | Script made and download config backup to server in text and binary formats. 8 | 9 | To use this script you need: 10 | 11 | 1. Register user on mikrotik with login and password used in script. 12 | 2. Upload public ssh key and setup it to this user. 13 | 14 | Multiple routers list allowed space separated. 15 | -------------------------------------------------------------------------------- /backup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | routers=( 192.168.1.1 192.168.2.1 192.168.3.1 ) 3 | backupdir="/home/backup/mikrotik" 4 | privatekey="/root/.ssh/id_dsa" 5 | login="user" 6 | passwd="pa$Sw0rd" 7 | fulldir="${backupdir}/`date +%Y`/`date +%m`/`date +%d`" 8 | 9 | for r in ${routers[@]}; do 10 | cmd_backup="/system backup save name=${r}.backup" 11 | ssh ${login}@$r -i $privatekey "${cmd_backup}" > /dev/null 12 | cmd_backup="/export file=${r}" 13 | ssh ${login}@$r -i $privatekey "${cmd_backup}" > /dev/null 14 | sleep 5 15 | mkdir -p $fulldir 16 | wget -qP $fulldir ftp://${login}:${passwd}@${r}/${r}.backup 17 | wget -qP $fulldir ftp://${login}:${passwd}@${r}/${r}.rsc 18 | ssh ${login}@$r -i $privatekey "/file remove \"${r}.backup\"" 19 | ssh ${login}@$r -i $privatekey "/file remove \"${r}.rsc\"" 20 | done 21 | --------------------------------------------------------------------------------