Автоматизация создания бекапов с устройств Mikrotik на Linux
Опишу свой метод резервного копирония своих устройств Mikrotik.
Создавать бекапы оборудования Mikrotik будем с помощью bash-скрипта. Входе выполнения скрипта, будет осуществлен прозрачный вход на оборудование Mikrotik (как настроить прозрачное подключение к Mikrotik по ssh читаем в этой статье).
Так же бекапы будем хранить на сетевом ресурсе, поэтому в примере скрипта будет выполнено монтирование сетевого диска.
JUQwJTlGJUQxJTgwJUQwJUI1JUQwJUI0JUQwJUJGJUQwJUJFJUQwJUJCJUQwJUIwJUQwJUIzJUQwJUIwJUQwJUI1JUQxJTgyJUQxJTgxJUQxJThGJTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQwJUIxJUQwJUI1JUQwJUJBJUQwJUIwJUQwJUJGJUQwJUIwJTIwJUQwJUJEJUQwJUI1JTIwJUQwJUJFJUQwJUI0JUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUIwJTIwTWlrcm90aWslMkMlMjAlRDAlQkYlRDAlQkUlRDElOEQlRDElODIlRDAlQkUlRDAlQkMlRDElODMlMjAlRDAlQkYlRDAlQkUlRDAlQjQlRDAlQjMlRDAlQkUlRDElODIlRDAlQkUlRDAlQjIlRDAlQjglRDAlQkMlMjAlRDAlQjclRDAlQjAlRDElODAlRDAlQjAlRDAlQkQlRDAlQjUlRDAlQjUlMjAlRDElODIlRDAlQjUlRDAlQkElRDElODElRDElODIlRDAlQkUlRDAlQjIlRDElOEIlRDAlQjklMjAlRDElODQlRDAlQjAlRDAlQjklRDAlQkIlMjAlRDElODElRDAlQkUlMjAlRDElODElRDAlQkYlRDAlQjglRDElODElRDAlQkElRDAlQkUlRDAlQkMlMjBJUC0lRDAlQjAlRDAlQjQlRDElODAlRDAlQjUlRDElODElRDAlQkUlRDAlQjIlMjAlRDAlQjIlRDElODElRDAlQjUlRDElODUlMjAlRDElODMlRDElODElRDElODIlRDElODAlRDAlQkUlRDAlQjklRDElODElRDElODIlRDAlQjIlMjBNaWtyb3RpayUyQyUyMCVEMCVCQSVEMCVCRSVEMSU4MiVEMCVCRSVEMSU4MCVEMSU4QiVEMSU4NSUyMCVEMSU4NSVEMCVCRSVEMSU4MiVEMCVCOCVEMCVCQyUyMCVEMCVCNCVEMCVCNSVEMCVCQiVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRg==
cat << EOF > /opt/mikrotik
192.168.1.4
MTkyLjE2OC4xLjU=
MTkyLjE2OC4xLjY=
192.168.1.7
RU9G
JUQwJUExJUQwJUJBJUQxJTgwJUQwJUI4JUQwJUJGJUQxJTgyJTIwJUQxJTgwJUQwJUI1JUQwJUI3JUQwJUI1JUQxJTgwJUQwJUIyJUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQwJUJBJUQwJUJFJUQwJUJGJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJTIwJUQxJTgxJTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUJDJUQwJUI1JUQwJUJEJUQxJTgyJUQwJUIwJUQxJTgwJUQwJUI4JUQxJThGJUQwJUJDJUQwJUI4JTJDJTIwJUQwJUJGJUQwJUJFJUQxJThEJUQxJTgyJUQwJUJFJUQwJUJDJUQxJTgzJTIwJUQxJTgwJUQwJUIwJUQwJUI3JUQwJUJFJUQwJUIxJUQxJTgwJUQwJUIwJUQxJTgyJUQxJThDJUQxJTgxJUQxJThGJTIwJUQwJUIyJTIwJUQwJUJEJUQwJUI1JUQwJUJDJTIwJUQwJUI4JTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQxJTgxJUQxJTgyJUQwJUIwJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQxJTgxJUQwJUIyJUQwJUJFJUQwJUI4JTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUJEJUQwJUI1JTIwJUQwJUI0JUQwJUJFJUQwJUJCJUQwJUI2JUQwJUJEJUQwJUJFJTIwJUQxJTgxJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQxJTgyJUQxJTgwJUQxJTgzJUQwJUI0JUQwJUIwLg==
JTIzISUyRmJpbiUyRmJhc2g=
JTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIz
# Переменные для работы скрипта #
JTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIz
JTIzJTIwJUQwJTk3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQxJTgyJUQwJUI1JUQwJUJBJUQxJTgzJUQxJTg5JUQwJUI1JUQwJUI5JTIwJUQwJUI0JUQwJUIwJUQxJTgyJUQxJThC
ZGF0ZSUzRCUyNChkYXRlJTIwJTJCJTI1ZC0lMjVtLSUyNVkp
JTIzJTIwJUQwJTk3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQxJTgyJUQwJUI1JUQwJUJBJUQxJTgzJUQxJTg5JUQwJUI1JUQwJUIzJUQwJUJFJTIwJUQwJUIyJUQxJTgwJUQwJUI1JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI4
time=$(date +%H-%M)
JTIzJTIwJUQwJTk4JUQwJUJDJUQxJThGJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQxJThGJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUJBJTIwTWlrcm90aWs=
username="admin"
JTIzJTIwJUQwJTlGJUQxJTgzJUQxJTgyJUQxJThDJTIwJUQwJUJBJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQxJTgzJTIwJUQxJTgxJTIwaXAlMjAlRDAlQjAlRDAlQjQlRDElODAlRDAlQjUlRDElODElRDAlQjAlRDAlQkMlRDAlQjglMjAlRDAlQkUlRDAlQjElRDAlQkUlRDElODAlRDElODMlRDAlQjQlRDAlQkUlRDAlQjIlRDAlQjAlRDAlQkQlRDAlQjglRDAlQjk=
bWlrcm90aWslM0QlMjIlMkZob21lJTJGYWRtaW4lMkZhZHJlc3NfbWlrcm90aWslMjI=
JTIzJTIwJUQwJTkyJUQxJTgwJUQwJUI1JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUJEJUQwJUIwJUQxJThGJTIwJUQwJUJGJUQwJUIwJUQwJUJGJUQwJUJBJUQwJUIw
tmp="/home/admin/mikrotik/"
# Логи
log=$tmp"/log.txt"
#-------------------------------#
# Хранилище бекапов
smb_path_backup="//192.168.1.2/Backups"
# Название домена (Верхний вегистр)
domain="JAKONDA.LOCAL"
JTIzJTIwJUQwJTk4JUQwJUJDJUQxJThGJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQxJThG
usrname="jakonda"
# Пароль
cGFzc3dkJTNEJTIyQWExMjM0NTY3JTIy
########################################
# Рабочий листинг бекапа Спартака #
########################################
JTIzJTIwJUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUIxJUQwJUI4JUQxJTgwJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTg2JUQwJUI4JUQwJUJBJUQwJUJCJUQwJUJFJUQwJUJDJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJUQxJTgxJTIwJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxJUQwJUIwJUQwJUJDJUQwJUI4JTIwJUQwJUJFJUQwJUIxJUQwJUJFJUQxJTgwJUQxJTgzJUQwJUI0JUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUI4JTIwJUQwJUI0JUQwJUI1JUQwJUJCJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUIxJUQwJUI1JUQwJUJBJUQwJUIwJUQwJUJGJUQxJThCJTIwJUQwJUJGJUQwJUJFJTIwJUQwJUJBJUQwJUIwJUQwJUI2JUQwJUI0JUQwJUJFJUQwJUJDJUQxJTgzJTIwJUQwJUI4JUQwJUI3JTIwJUQwJUJEJUQwJUI4JUQxJTg1
for i in $( cat $mikrotik ); do
JTIzJTIwJUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUIyJUQxJTgwJUQwJUI1JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUJEJUQxJTgzJUQxJThFJTIwJUQwJUJGJUQwJUIwJUQwJUJGJUQwJUJBJUQxJTgzJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQxJThCJTIwJUQxJTgxJUQwJUJBJUQxJTgwJUQwJUI4JUQwJUJGJUQxJTgyJUQwJUIw
bWtkaXIlMjAtcCUyMCUyNHRtcCUyMiUyRiUyMiUyNGk=
# Получаем имя оборудования
RESULT=$(ssh $username"@"$i "system identity print" | awk ' {print $2} ');
ZWNobyUyMCUyMiVEMCU5RCVEMCVCMCVEMSU4NyVEMCVCMCVEMCVCQiVEMCVCRSUyMCVEMSU4MCVEMCVCNSVEMCVCNyVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCRCVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMCVCQSVEMCVCRSVEMCVCRiVEMCVCOCVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMCVCRSVEMCVCMSVEMCVCRSVEMSU4MCVEMSU4MyVEMCVCNCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyME1pa3JvdGlrJTIy
echo "Начало резервного копирования оборудования Mikrotik ($time) $RESULT" > $log
# Создаем бекап оборудования
echo "Создание бекапа оборудования $i..."
c3NoJTIwJTI0dXNlcm5hbWUlMjIlNDAlMjIlMjRpJTIwJTIyc3lzdGVtJTIwYmFja3VwJTIwc2F2ZSUyMG5hbWUlM0RiYWNrdXAlMjIlM0I=
aWYlMjAlNUIlMjAlMjQlM0YlMjAtZXElMjAwJTIwJTVEJTNCJTIwdGhlbg==
ZWNobyUyMC1uJTIwJTIyJTI0KHRwdXQlMjBocGElMjAlMjQodHB1dCUyMGNvbHMpKSUyNCh0cHV0JTIwY3ViJTIwNiklNUJPSyU1RCUyMg==
echo "Создание бекапа $i успешно ($time)" >> $log
echo
ZWxzZQ==
ZWNobyUyMC1uJTIwJTIyJTI0KHRwdXQlMjBocGElMjAlMjQodHB1dCUyMGNvbHMpKSUyNCh0cHV0JTIwY3ViJTIwNiklNUIlRDAlOUUlRDAlQTglRDAlOTglRDAlOTElRDAlOUElRDAlOTAlNUQlMjI=
ZWNobyUyMCUyMiVEMCVBMSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRiVEMCVCMCUyMCUyNGklMjAlRDAlQkQlRDAlQjUlRDElODMlRDAlQjQlRDAlQjAlRDElODclRDAlQkQlRDAlQkUlMjAoJTI0dGltZSklMjIlMjAlM0UlM0UlMjAlMjRsb2c=
ZWNobw==
Zmk=
JTIzJTIwJUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgyJUQwJUI1JUQwJUJBJUQxJTgxJUQxJTgyJUQwJUJFJUQwJUIyJUQxJThCJUQwJUI5JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4
echo "Создание бекапа текстового файла конфигурации оборудования $i..."
c3NoJTIwJTI0dXNlcm5hbWUlMjIlNDAlMjIlMjRpJTIwJTIyZXhwb3J0JTIwZmlsZSUzRGJhY2t1cC5yc2MlMjIlM0I=
if [ $? -eq 0 ]; then
ZWNobyUyMC1uJTIwJTIyJTI0KHRwdXQlMjBocGElMjAlMjQodHB1dCUyMGNvbHMpKSUyNCh0cHV0JTIwY3ViJTIwNiklNUJPSyU1RCUyMg==
ZWNobyUyMCUyMiVEMCVBMSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRiVEMCVCMCUyMCVEMSU4MiVEMCVCNSVEMCVCQSVEMSU4MSVEMSU4MiVEMCVCRSVEMCVCMiVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMSU4NCVEMCVCMCVEMCVCOSVEMCVCQiVEMCVCMCUyMCVEMCVCQSVEMCVCRSVEMCVCRCVEMSU4NCVEMCVCOCVEMCVCMyVEMSU4MyVEMSU4MCVEMCVCMCVEMSU4NiVEMCVCOCVEMCVCOCUyMCUyNGklMjAlRDElODMlRDElODElRDAlQkYlRDAlQjUlRDElODglRDAlQkQlRDAlQkUlMjAoJTI0dGltZSklMjIlMjAlM0UlM0UlMjAlMjRsb2c=
ZWNobw==
ZWxzZQ==
ZWNobyUyMC1uJTIwJTIyJTI0KHRwdXQlMjBocGElMjAlMjQodHB1dCUyMGNvbHMpKSUyNCh0cHV0JTIwY3ViJTIwNiklNUIlRDAlOUUlRDAlQTglRDAlOTglRDAlOTElRDAlOUElRDAlOTAlNUQlMjI=
echo "Создание бекапа текстового файла конфигурации $i неудачно ($time)" >> $log
echo
Zmk=
JTIzJTIwJUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJBJUQwJUIwJUQxJTgyJUQwJUIwJUQwJUJCJUQwJUJFJUQwJUIzJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQwJUIxJUQwJUI1JUQwJUJBJUQwJUIwJUQwJUJGJUQwJUIwJTIwJUQwJUJFJUQwJUIxJUQwJUJFJUQxJTgwJUQxJTgzJUQwJUI0JUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThG
ZWNobyUyMCUyMiVEMCVBMSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCNSVEMCVCQyUyMCVEMCVCNCVEMCVCOCVEMSU4MCVEMCVCNSVEMCVCQSVEMSU4MiVEMCVCRSVEMSU4MCVEMCVCOCVEMSU4RSUyMCVEMCVCNCVEMCVCQiVEMSU4RiUyMCVEMSU4MCVEMCVCMCVEMCVCNyVEMCVCQyVEMCVCNSVEMSU4OSVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRiVEMCVCMC4uLiUyMg==
bWtkaXIlMjAtcCUyMCUyNHRtcCUyRiUyNGklMkYlMjRkYXRlJTJG
echo "Создана временная директория для размещения бекапа с оборудовнаия $i ($time)" >> $log
JTIzJTIwJUQwJUExJUQwJUJBJUQwJUIwJUQxJTg3JUQwJUI4JUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQwJUJFJUQwJUIyJTIwJUQwJUIxJUQwJUI1JUQwJUJBJUQwJUIwJUQwJUJGJUQwJUJFJUQwJUIyJTIwJUQxJTgxJTIwJUQwJUJFJUQwJUIxJUQwJUJFJUQxJTgwJUQxJTgzJUQwJUI0JUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThG
ZWNobyUyMCUyMiVEMCVBMSVEMCVCQSVEMCVCMCVEMSU4NyVEMCVCOCVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4MyVEMSU4NyVEMCVCNSVEMCVCRCVEMCVCRCVEMSU4QiVEMSU4NSUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRiUyMCVEMSU4NCVEMCVCMCVEMCVCOSVEMCVCQiVEMCVCRSVEMCVCMiUyMCVEMSU4MSUyMCVEMCVCRSVEMCVCMSVEMCVCRSVEMSU4MCVEMSU4MyVEMCVCNCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyMCUyNGkuLi4lMjI=
sftp $username"@"$i":backup.backup" $tmp/$i/$date/$i"-"$time".backup";
sftp $username"@"$i":backup.rsc" $tmp/$i/$date/$i"-"$time".rsc";
if [ $? -eq 0 ]; then
echo -n "$(tput hpa $(tput cols))$(tput cub 6)[OK]"
ZWNobyUyMCUyMiVEMCVBMSVEMCVCQSVEMCVCMCVEMSU4NyVEMCVCOCVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRiVEMCVCRSVEMCVCMiUyMCVEMSU4MSUyMCVEMCVCRSVEMCVCMSVEMCVCRSVEMSU4MCVEMSU4MyVEMCVCNCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyMCUyNGklMjAlRDElODMlRDElODElRDAlQkYlRDAlQjUlRDElODglRDAlQkQlRDAlQkUlMjAoJTI0dGltZSklMjIlMjAlM0UlM0UlMjAlMjRsb2c=
echo
else
ZWNobyUyMC1uJTIwJTIyJTI0KHRwdXQlMjBocGElMjAlMjQodHB1dCUyMGNvbHMpKSUyNCh0cHV0JTIwY3ViJTIwNiklNUIlRDAlOUUlRDAlQTglRDAlOTglRDAlOTElRDAlOUElRDAlOTAlNUQlMjI=
ZWNobyUyMCUyMiVEMCVBMSVEMCVCQSVEMCVCMCVEMSU4NyVEMCVCOCVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRiVEMCVCRSVEMCVCMiUyMCVEMSU4MSUyMCVEMCVCRSVEMCVCMSVEMCVCRSVEMSU4MCVEMSU4MyVEMCVCNCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyMCUyNGklMjAlRDAlQkQlRDAlQjUlRDElODMlRDAlQjQlRDAlQjAlRDElODclRDAlQkQlRDAlQkUlMjAoJTI0dGltZSklMjIlMjAlM0UlM0UlMjAlMjRsb2c=
ZWNobw==
fi
# Архивируем полученный бекап
echo "Архивация бекапов..."
cd $tmp/$i/
UkVTVUxUJTNEJTI0KHRhciUyMC1jenZmJTIwJTI0ZGF0ZSUyMi50YXIuZ3olMjIlMjAlMjRkYXRlKQ==
echo "Бекапы за архивированны ($time)" >> $log
JTIzJTIwJUQwJTlGJUQwJUJFJUQwJUI0JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUI1JUQxJTgyJUQwJUI1JUQwJUIyJUQwJUJFJUQwJUI1JTIwJUQxJTg1JUQxJTgwJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUJCJUQwJUI4JUQxJTg5JUQwJUI1
ZWNobyUyMCUyMiVEMCU5RiVEMCVCRSVEMCVCNCVEMCVCQSVEMCVCQiVEMSU4RSVEMSU4NyVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMSU4MSVEMCVCNSVEMSU4MiVEMCVCNSVEMCVCMiVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMSU4NSVEMSU4MCVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCQiVEMCVCOCVEMSU4OSVEMCVCMCUyMCUyNHNtYl9wYXRoX2JhY2t1cC4uLiUyMg==
RESULT=$(cat /home/admin/sudos | sudo -S -u root mount -t cifs $smb_path_backup /mnt/samba -o username=$usrname,password=$passwd,domain=$domain)
echo "Сетевое хранилище $smb_path_backup подключено ($time)" >> $log
JTIzJTIwJUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJBJUQwJUIwJUQxJTgyJUQwJUIwJUQwJUJCJUQwJUJFJUQwJUIzJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQxJTgwJUQwJUIwJUQwJUI3JUQwJUJDJUQwJUI1JUQxJTg5JUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUIxJUQwJUI1JUQwJUJBJUQwJUIwJUQwJUJGJUQwJUIwJTIwJUQwJUIyJTIwJUQxJTgxJUQwJUI1JUQxJTgyJUQwJUI1JUQwJUIyJUQwJUJFJUQwJUJDJTIwJUQxJTg1JUQxJTgwJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUJCJUQwJUI4JUQxJTg5JUQwJUI1JTJDJTIwJUQwJUI1JUQxJTgxJUQwJUJCJUQwJUI4JTIwJUQwJUJFJUQwJUJEJTIwJUQwJUJEJUQwJUI1JTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUJELg==
echo "Создаем каталог для размещения бекапов оборудоваия $i..."
RESULT=$(cat /home/admin/sudos | sudo -S -u root mkdir -p /mnt/samba/Mikrotik/$i)
ZWNobyUyMCUyMiVEMCU5QSVEMCVCMCVEMSU4MiVEMCVCMCVEMCVCQiVEMCVCRSVEMCVCMyUyMCVEMCVCNCVEMCVCQiVEMSU4RiUyMCVEMSU4MCVEMCVCMCVEMCVCNyVEMCVCQyVEMCVCNSVEMSU4OSVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRiVEMCVCRSVEMCVCMiUyMCVEMCVCRSVEMCVCMSVEMCVCRSVEMSU4MCVEMSU4MyVEMCVCNCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyMCUyNGklMjAlRDAlQjIlMjAlRDElODElRDAlQjUlRDElODIlRDAlQjUlRDAlQjIlRDAlQkUlRDAlQkMlMjAlRDElODUlRDElODAlRDAlQjAlRDAlQkQlRDAlQjglRDAlQkIlRDAlQjglRDElODklRDAlQjUlMjAlRDElODElRDAlQkUlRDAlQjclRDAlQjQlRDAlQjAlRDAlQkQlMjAoJTI0dGltZSklMjIlMjAlM0UlM0UlMjAlMjRsb2c=
# Перемещаем созданный архив в хранилище
ZWNobyUyMCUyMiVEMCVBMCVEMCVCMCVEMCVCNyVEMCVCQyVEMCVCNSVEMSU4OSVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRiVEMCVCRSVEMCVCMiUyMCVEMCVCMiUyMCVEMSU4MSVEMCVCNSVEMSU4MiVEMCVCNSVEMCVCMiVEMCVCRSVEMCVCQyUyMCVEMSU4NSVEMSU4MCVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCQiVEMCVCOCVEMSU4OSVEMCVCNS4uLiUyMg==
RESULT=$(cat /home/admin/sudos | sudo -S -u root mv $tmp/$i/$date".tar.gz" "/mnt/samba/Mikrotik/$i/$date.tar.gz")
echo "Бекапы оборудования $i перемещены в "$smb_path_backup"/$i ($time)" >> $log
echo "" >> $log
# Перемещаем лог файл в папку с бекапом
UkVTVUxUJTNEJTI0KGNhdCUyMCUyRmhvbWUlMkZhZG1pbiUyRnN1ZG9zJTIwJTdDJTIwc3VkbyUyMC1TJTIwLXUlMjByb290JTIwbXYlMjAlMjRsb2clMjAlMjIlMkZtbnQlMkZzYW1iYSUyRk1Ja3JvdGlrJTJGJTI0aSUyRiUyNGRhdGUubG9nLnR4dCUyMik=
# Подчишаем за собой на оборудование
ZWNobyUyMCUyMiVEMCVBMyVEMCVCNCVEMCVCMCVEMCVCQiVEMSU4RiVEMCVCNSVEMCVCQyUyMCVEMSU4NCVEMCVCMCVEMCVCOSVEMCVCQiVEMSU4QiUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRiVEMCVCMCUyMCVEMSU4MSUyMCVEMCVCRSVEMCVCMSVEMCVCRSVEMSU4MCVEMSU4MyVEMCVCNCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyMCUyNGklMjI=
c3NoJTIwJTI0dXNlcm5hbWUlMjIlNDAlMjIlMjRpJTIwJTIyZmlsZSUyMHJlbW92ZSUyMGJhY2t1cC5iYWNrdXAlMjIlM0I=
c3NoJTIwJTI0dXNlcm5hbWUlMjIlNDAlMjIlMjRpJTIwJTIyZmlsZSUyMHJlbW92ZSUyMGJhY2t1cC5yc2MlMjIlM0I=
rm -r -f $tmp
JTIzJTIwJUQwJUEwJUQwJUIwJUQwJUI3JUQwJUJDJUQwJUJFJUQwJUJEJUQxJTgyJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUI1JUQxJTgyJUQwJUI1JUQwJUIyJUQwJUJFJUQwJUI5JTIwJUQwJUI0JUQwJUI4JUQxJTgxJUQwJUJB
cat /home/admin/sudos | sudo -S -u root umount $smb_path_backup
done
JUQwJTk0JUQwJUI1JUQwJUJCJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJBJUQxJTgwJUQwJUI4JUQwJUJGJUQxJTgyJTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJUQxJThCJUQwJUJDJTNB
chmod +x backup_mikrotik
JUQwJTk3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJBJUQxJTgwJUQwJUI4JUQwJUJGJUQxJTgyJTIwJUQwJUI4JTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUI1JUQwJUIzJUQwJUJFJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQxJTgzLiUyMCVEMCU5MiUyMCVEMCVCOCVEMSU4MiVEMCVCRSVEMCVCMyVEMCVCNSUyMCVEMCVCMSVEMSU4MyVEMCVCNCVEMSU4MyVEMSU4MiUyMCVEMSU4MSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCRCVEMSU4QiUyMCVEMCVCRiVEMCVCMCVEMCVCRiVEMCVCQSVEMCVCOCUyMCVEMCVCRiVEMCVCRSUyMCVEMCVCQSVEMCVCMCVEMCVCNiVEMCVCNCVEMCVCRSVEMCVCQyVEMSU4MyUyMCVEMCVCRSVEMCVCMSVEMCVCRSVEMSU4MCVEMSU4MyVEMCVCNCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RSUyMCVEMCVCOCUyMCVEMCVCMiUyMCVEMCVCQSVEMCVCMCVEMCVCNiVEMCVCNCVEMCVCRSVEMCVCOSUyMCVEMCVCRiVEMCVCMCVEMCVCRiVEMCVCQSVEMCVCNSUyMCVEMCVCMSVEMSU4MyVEMCVCNCVEMSU4MyVEMSU4MiUyMCVEMCVCMiVEMCVCRSVEMSU4MiUyMCVEMSU4MiVEMCVCMCVEMCVCQSUyMCVEMSU4MCVEMCVCMCVEMSU4MSVEMCVCRiVEMCVCRSVEMCVCQiVEMCVCMCVEMCVCMyVEMCVCMCVEMSU4MiVEMSU4QyVEMSU4MSVEMSU4RiUyMCVEMCVCMSVEMCVCNSVEMCVCQSVEMCVCMCVEMCVCRiVEMSU4QiUyMCVEMSU4MSUyMCVEMCVCQiVEMCVCRSVEMCVCMy0lRDElODQlRDAlQjAlRDAlQjklRDAlQkIlRDAlQjAlRDAlQkMlRDAlQjguJUMyJUEw
JUQwJTk0JUQwJUJFJUQwJUIxJUQwJUIwJUQwJUIyJUQwJUI4JUQwJUJDJTIwJUQwJUIyJTIwJUQwJUJGJUQwJUJCJUQwJUIwJUQwJUJEJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQxJTg5JUQwJUI4JUQwJUJBJTIwY3JvbnRhYiUyMCVEMCVCMiVEMSU4QiVEMCVCRiVEMCVCRSVEMCVCQiVEMCVCRCVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCNSVEMCVCMyVEMCVCRSUyMCVEMCVCRiVEMCVCRSUyMCVEMCVCNyVEMCVCMCVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMCVCRSVEMCVCQyVEMSU4MyUyMCVEMCVCMiVEMSU4MCVEMCVCNSVEMCVCQyVEMCVCNSVEMCVCRCVEMCVCOC4lMjAlRDAlOTIlRDElOEIlRDAlQkYlRDAlQkUlRDAlQkIlRDAlQkQlRDElOEYlRDElODIlRDElOEMlMjAlRDElODElRDAlQkElRDElODAlRDAlQjglRDAlQkYlRDElODIlMjAlRDAlQkMlRDElOEIlMjAlRDAlQjElRDElODMlRDAlQjQlRDAlQjUlRDAlQkMlMjAlRDAlQkElRDAlQjAlRDAlQjYlRDAlQjQlRDElOEIlRDAlQjklMjAlRDAlQjQlRDAlQjUlRDAlQkQlRDElOEMlMjAlRDAlQjIlMjAyMyUzQTUw
50 23 * * * /home/admin/auto_backup_mikrotik
На этом все можно наслаждаться автоматизацией работы, и у нас всегда будут бекапы которые рано или поздно нас выручат.
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Hi, me again. I get same result when i was trying to do something on my own
in new line that you tell me «MIKROTIK_NAME=$RESULT» i got result like MIKROTIK_NAME=$’Company\r’ and whole directory is in mess i found on internet that have something with msdos coding and that windows leave that \r on the end of name when linux try to make folders but like i said early i dont have any skill in scripting so i dont know what to do
Thank you very much for helping me!
I`ll try it to help, as far as possible.
Hi, me again. Here is some output to see more about problem.
root@MikroTik-BKP:/home/admin/Mikrotik# ./test.sh
++ date +%d-%m-%Y
+ date=26-10-2018
++ date +%H-%M
+ time=11-12
+ username=backup
+ mikrotik=/home/admin/Mikrotik/adress_mikrotik
+ tmp=/home/admin/Mikrotik
+ log=/home/admin/Mikrotik/log.txt
+ smb_path_backup=//192.168.1.3/TikBak
+ domain=STORAGE.LOCAL
+ usrname=tik
+ passwd=1234
++ cat /home/admin/Mikrotik/adress_mikrotik
+ for i in ‘$( cat $mikrotik)’
+ mkdir -p /home/admin/Mikrotik/
++ awk ‘{print $2}’
++ ssh backup@192.168.1.88 ‘system identity print’
+ RESULT=$’Company\r’
+ echo ‘Start of backup equipment Mikrotik’
Start of backup equipment Mikrotik
‘ echo ‘Starting Mikrotik hardware backup Mikrotik (11-12) Company
+ MIKROTIK_NAME=$’Company\r’
+ echo ‘Creating hardware backup 192.168.1.88…’
Creating hardware backup 192.168.1.88…
+ ssh backup@192.168.1.88 ‘system backup save name=backup’
Configuration backup saved
+ ‘[‘ 0 -eq 0 ‘]’
+++ tput cols
++ tput hpa 237
++ tput cub 6
+ echo -n ‘ [OK]’
[OK]+ echo ‘Creating backup 192.168.1.88 successfully (11-12)’
+ echo
+ echo ‘Creating a backup of the text file configuration hardware 192.168.1.88…’
Creating a backup of the text file configuration hardware 192.168.1.88…
+ ssh backup@192.168.1.88 ‘export file=backup.rsc’
+ ‘[‘ 0 -eq 0 ‘]’
+++ tput cols
++ tput hpa 237
++ tput cub 6
+ echo -n ‘ [OK]’
[OK]+ echo ‘Creating a backup of the configuration text file 192.168.1.88 successfully (11-12)’
+ echo
+ echo ‘Create a directory to place backup…’
Create a directory to place backup…
+ mkdir -p $’/home/admin/Mikrotik/Company\r_192.168.1.88/26-10-2018/’
+ echo ‘A temporary directory was created to place a backup with equipment 192.168.1.88 (11-12)’
+ echo ‘Downloading the received backup files from the hardware 192.168.1.88…’
Downloading the received backup files from the hardware 192.168.1.88…
+ sftp backup@192.168.1.88:backup.backup $’/home/admin/Mikrotik/Company\r_192.168.1.88/26-10-2018/Company\r_192.168.1.88-11-12.backup’
Connected to 192.168.1.88
Fetching /backup.backup to /home/admin/Mikrotik/Company
/backup.backup 100% 191KB 191.3KB/s 00:00
+ sftp backup@192.168.1.88:backup.rsc $’/home/admin/Mikrotik/Company\r_192.168.1.88/26-10-2018/Company\r_192.168.1.88-11-12.rsc’
Connected to 192.168.1.88.
Fetching /backup.rsc to /home/admin/Mikrotik/Company
/backup.rsc 100% 40KB 39.8KB/s 00:00
+ ‘[‘ 0 -eq 0 ‘]’
+++ tput cols
++ tput hpa 237
———————————————————————————————————
I tried in this line
RESULT=$(ssh $username»@»$i «system identity print» | awk ‘{print $2}’);
in awk to remove \r and $ whit some command i forgot witch one
i tried alot and i got clear name in MIKROTIK_NAME=$RESULT but later in this line and alot more lines where is MIKROTIK_NAME
sftp $username»@»$i»:backup.backup» $tmp/$MIKROTIK_NAME»_»$i/$date/$MIKROTIK_NAME»_»$i»-«$time».backup»;
i got lot more \r\r than orginal awk command at the and of $MIKROTIK_NAME
i tried also dos2unix command to file and sed -i ‘s/\r//g’ filename and other similar stuff still no luck
Hehe ok
i will try. When script makes new folder of mikrotik device from addresss_mikrotik folder name contain only ip address from list «e.g. 192.168.1.88» but i will like when new folder is maid to contain also identity of mikrotik from backup is made. So i would like to have somthing like «e.g. Company_192.168.1.88 Company1_192.168.1.88» so that i know from witch company is mikrotik if its default IP. Thank you for you quick answer i just dont have any knowledge about scripting 
Now it`s better to understanding what you want to do))
Try make changes in code, thats must be good. Sorry check it i cant.
After line:
# Получаем имя оборудования
RESULT=$(ssh $username»@»$i «system identity print» | awk ‘ {print $2} ‘);
Add code:
MIKROTIK_NAME=$RESULT
Then, after that line:
# Создаем каталог для бекапа оборудования
echo «Создаем директорию для размещения бекапа…»
Replace that line:
mkdir -p $tmp/$i/$date/
By that:
mkdir -p $tmp/$MIKROTIK_NAME»_»$i/$date/
Replace thats lines:
sftp $username»@»$i»:backup.backup» $tmp/$i/$date/$i»-«$time».backup»;
sftp $username»@»$i»:backup.rsc» $tmp/$i/$date/$i»-«$time».rsc»;
By that lines:
sftp $username»@»$i»:backup.backup» $tmp/$MIKROTIK_NAME»_»$i/$date/$MIKROTIK_NAME»_»$i»-«$time».backup»;
sftp $username»@»$i»:backup.rsc» $tmp/$MIKROTIK_NAME»_»$i/$date/$MIKROTIK_NAME»_»$i»-«$time».rsc»;
Replace:
cd $tmp/$i/
By:
cd $tmp/$MIKROTIK_NAME»_»$i/
Replace that:
RESULT=$(cat /home/admin/sudos | sudo -S -u root mkdir -p /mnt/samba/Mikrotik/$MIKROTIK_NAME»_»$i)
By that:
RESULT=$(cat /home/admin/sudos | sudo -S -u root mkdir -p /mnt/samba/Mikrotik/$MIKROTIK_NAME»_»$i)
Replace:
RESULT=$(cat /home/admin/sudos | sudo -S -u root mv $tmp/$MIKROTIK_NAME»_»$i/$date».tar.gz» «/mnt/samba/Mikrotik/$MIKROTIK_NAME»_»$i/$date.tar.gz»)
By:
RESULT=$(cat /home/admin/sudos | sudo -S -u root mv $tmp/$MIKROTIK_NAME»_»$i/$date».tar.gz» «/mnt/samba/Mikrotik/$MIKROTIK_NAME»_»$i/$date.tar.gz»)
Replace:
RESULT=$(cat /home/admin/sudos | sudo -S -u root mv $log «/mnt/samba/MIkrotik/$MIKROTIK_NAME»_»$i/$date.log.txt»)
By:
RESULT=$(cat /home/admin/sudos | sudo -S -u root mv $log «/mnt/samba/MIkrotik/$MIKROTIK_NAME»_»$i/$date.log.txt»)
Добрый день! Не совсем понятно что имели ввиду «резервного копирования папки, также содержат личность mikrotik?» Напишите на английском вопрос, посмотрим.
Привет, я люблю ваш скрипт, но у меня есть одна проблема
есть ли какая-либо возможность для резервного копирования папки, также содержат личность mikrotik? Можете ли вы помочь мне с этим? Спасибо! Алос, я использую google translate, так что извините, если что-то неправильно переведено.