Доброго дня.
Есть задача автоматизировать бэкапы микротика. В сети нашёл скрипт который должен помочь мне с этой задачей.
#/bin/bash
routers=( 192.168.0.1 )
backupdir="/root/mikrotik/"
privatekey="/root/.ssh/id_dsa"
login="admin"
DATE="`date '+%Y-%m-%d'`"
for r in ${routers[@]}; do
cmd_backup="/system backup save name=${r}.backup"
ssh ${login}@$r -i $privatekey "${cmd_backup}" > /dev/null
sleep 2
cmd_backup="/export file=${r}"
ssh ${login}@$r -i $privatekey "${cmd_backup}" > /dev/null
sleep 5
scp -i $privatekey ${login}@${r}:${r}.backup ${backupdir}$r-$DATE.backup
scp -i $privatekey ${login}@${r}:${r}.rsc ${backupdir}$r-$DATE.rsc
ssh ${login}@$r -i $privatekey "/file remove \"${r}.backup\""
ssh ${login}@$r -i $privatekey "/file remove \"${r}.rsc\""
done
find $backupdir* -mtime +3 -exec rm {} \;
Но при попытке выполнить его я получаю ошибку.
[root@DataB ~]# ./backup_mikrotik
'/backup_mikrotik: line 7: syntax error near unexpected token `do
'/backup_mikrotik: line 7: `for r in ${routers[@]}; do
Подскажите пожалуйста, в чём может быть проблема? Или хотя бы укажите, в каком направлении смотреть?
Заранее, большое спасибо.
Увы, задачу надо решить срочно, потому погружаться в изучение bash просто физически нет времени:(