Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • AlexKud AlexKud 26 постов
  • StariiZoldatt StariiZoldatt 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Freebsd

С этим тегом используют

Linux Все
65 постов сначала свежее
janggg
janggg
7 лет назад

Шаманы разные⁠⁠

На "светлой" стороне должен был быть логотип win. бубен самодельный сын самодельный. ыидео олицетворяет настройку..

[моё] Freebsd Windows Шаманы Видео
1
6
anekdot7
7 лет назад

Обновился perl до версии 5.26.х⁠⁠

Пост для админов, может кто не в теме.

Обновился perl до версии 5.26 (уже 5.26.1).

Самое главное изменение, влияющее на поведение старых скриптов - @INC больше не содержит текущую директорию скрипта. Ваши модули из директории скрипта не могут быть больше загружены, надо переписывать код.

Downgrade портов не поддерживается, не попадитесь!

Если кто попался - смотрите, скорее всего в системе осталась старая версия perl. Надо создать линк в /usr/bin/perl на старую версию. Если какие-то модули обновляли после установки perl 5.26, то их необходимо вручную скачать и повторно установить линканув со старой версией.


base has been upgraded from version 2.25 to 2.26.

The effects of dotless @INC on this module have been limited by the introduction of a more refined and accurate solution for removing '.' from @INC while reducing the false positives.


http://perldoc.perl.org/perldelta.html#Removal-of-the-curren...


PS

Лига программистов PHP! mod_php 7.2.3 зависит от perl :)

Perl Freebsd Подстава Текст
4
43
pavian2
7 лет назад

FreeBSD!!!⁠⁠

FreeBSD!!! Linux, Freebsd, Помидоры
Показать полностью 1
Linux Freebsd Помидоры
3
176
cdoroff
cdoroff
7 лет назад
IT-юмор

Пингвин проповедник⁠⁠

Пингвин проповедник
[моё] Linux Пингвины Антарктика IT юмор Freebsd Гифка
5
Baffochka
7 лет назад
Лига Художников

Это не жестокость, это подарок программисту)⁠⁠

Разбавлю ванильность своих постов)))

Это не жестокость, это подарок программисту) Цифровой рисунок, Арт, Freebsd, Linux

Рисовала для печати на футболке, которая была подарена почитателю FreeBSD

Показать полностью 1
[моё] Цифровой рисунок Арт Freebsd Linux
19
31
Dopelngager
Dopelngager
7 лет назад

Автоматизация бэкапов.⁠⁠

Может и не совсем интересно, но кому-то может понадобиться такой мануал (ни в коем случае не реклама, только в ознакомительных целях). Мне руководитель поставил задачу на работе и вот так я ее решил....


Представим ситуацию, когда, у нас появилось слишком много филиалов и в каждом стоит роутер "Mikrotik" (в моем случае их 50+), Вы всегда делали бэкапы и сливали конфигурацию...., НО! К примеру, работаете Вы не один - это раз, надоело вручную заходить и делать бэкапы - это два, даже если уверены в своих коллегах - нужно страховаться - это три. При всем этом роутеров много и количество будет рости. *Нужно автоматизировать это дело* - подумаете Вы, этим собственно и займемся.


Нужно:

- UNIX-подобная система (в моем случае FreeBSD)

- Пара роутеров "Mikrotik" для проверки скрипта


Принцип работы скрипта:

- Скрипт будет заходить на каждый роутер указанный в массиве по SSH, под каким-либо пользователем

- Давать команду на создание бэкапа в двоичном и текстовом виде, а именно в расширениях *.backup и *.rsc

- Сливать файлы на наш сервер по SCP

- Удалять созданные бэкапы на самом роутере

- Проверять в папке с бэкапами, чтоб файлы были не старше трех дней, если старше - то удаляем. Другими словами у нас будут бэкапы за последние три дня.


Поехали....

1: Создадим сначала пользователя, с нужными на правами. Заходим на наш микротик, в меню жмакаем System -> Users и переходим в открывшемся окне на вкладку Group, нажимаем на "+", чтобы добавить новую группу (я назвал ее script) и назначаем права как на картинке:

Автоматизация бэкапов. Mikrotik, Резервное копирование, Freebsd, Linux, Автоматизация, Длиннопост

Далее переходим в вкладку Users и там жмем снова "+" вбиваем название пользователя, назначаем нашу созданную группу и пароль. Пусть будет у нас "Валли"

Автоматизация бэкапов. Mikrotik, Резервное копирование, Freebsd, Linux, Автоматизация, Длиннопост

Должно получиться так:

Автоматизация бэкапов. Mikrotik, Резервное копирование, Freebsd, Linux, Автоматизация, Длиннопост

2: Теперь нам нужно сгенерировать публичный ключ - для того, чтобы, скрипт подключался к микротику по ssh не спрашивая пароль т.е. автоматически. Заходим на наш FreeBSD под root'ом (для не знающих команда sudo su) и генерируем ключ командой: ssh-keygen -t dsa.

Будет вопрос в каком каталоге сохранять? я оставляю по дефолту, поэтому Enter, так же будет вопрос о пароле на ключ, оставляем пустой т.е. тоже нажимаем Enter.

Должно получиться так:

Автоматизация бэкапов. Mikrotik, Резервное копирование, Freebsd, Linux, Автоматизация, Длиннопост

Проверить наличие сгенерированного ключа можно так: ls -lh /root/.ssh/ и увидите в списке свой файл, с названием id_dsa.pub.

3: Следом надо залить ключ на микротик. Возвращаемся к микротику, нажимаем IP -> Services и там есть сервис "ftp", если он выключен, то включите.

Автоматизация бэкапов. Mikrotik, Резервное копирование, Freebsd, Linux, Автоматизация, Длиннопост

Возвращаемся на сервер и переходим в каталог с нашим ключом: cd /root/.ssh/.

Подключаемся на микротик через FTP командой: ftp 192.168.88.1

Спросит имя пользователя, вводим нашего: walle, следом пароль от него и увидите приветствие микротика:

Автоматизация бэкапов. Mikrotik, Резервное копирование, Freebsd, Linux, Автоматизация, Длиннопост

Вводим команду передачи ключа: put id_dsa.pub и ....

Автоматизация бэкапов. Mikrotik, Резервное копирование, Freebsd, Linux, Автоматизация, Длиннопост

Это говорит о том, что передача успешна и завершилась, вводим: exit.


4. Теперь надо назначить ключик нашему пользователю, переходим на роутер.

Откройте Files, там увидите свой ключик:

Автоматизация бэкапов. Mikrotik, Резервное копирование, Freebsd, Linux, Автоматизация, Длиннопост
Нажимаем в главном меню роутера New Terminal и вводим такую строку: user ssh-keys import public-key-file=id_dsa.pub user=walle. Команда выполнится молча. Проверяем импортировался ли ключ, переходим System -> Users в вкладке SSH Keys увидите ключ импортированный для пользователя walle.
Автоматизация бэкапов. Mikrotik, Резервное копирование, Freebsd, Linux, Автоматизация, Длиннопост

Ключ мы успешно импортировали и он будет работать.

Переходим на наш FreeBSD и пробуем подключиться по SSH с использованием ключа: ssh walle@192.168.88.1.

При первом подключении вам зададут вопрос: Are you sure you want to continue connecting (yes/no)? - отвечаем: yes. Больше спрашивать не будет.

После увидите приветствие роутера.


5. Необходимо на нашем FreeBSD создать папку для бэкапов, сделал я вот такой командой: mkdir /var/mikrotik_backups/.

Назначил полные права папке chmod 777 /var/mikrotik_backups/.


6. Необходимо создать сам файл скрипта: перехожу в свой каталог cd /usr/home/Dopelngager/ и создаем файл скрипта: touch backup_mikrotik.

Назначаю точно так же полные права chmod 777 backup_mikrotik.


7. Пришли теперь к основному, а именно к написанию скрипта.

Открываем файл скрипта командой: ее backup_mikrotik

и записываем в файл вот это:


#!/usr/local/bin/bash
routers=( 192.168.88.1 )
backupdir="/var/mikrotik_backups/"
privatekey="/root/.ssh/id_dsa"
login="walle"
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 {} \;


Если у вас не один роутер, то, шаги с 1 по 4 нужно сделать с каждым и в скрипт добавить роутеры в строку "routers", между скобок. ОБЯЗАТЕЛЬНО!: добавлять роутеры через пробел и пробелы около скобок тоже должны быть! Для примера добавим еще один роутер:

routers=( 192.168.88.1 192.168.88.2 ).

Проверим наш скрипт, вводим команду: ./backup_mikrotik

Должен пойти процесс скачивания и сохранения файлов.


8. Остался последний шаг - это добавить скрипт в планировщик.

Вводим команду открытия планировщика Cron: ее /etc/crontab

Добавляем строки:

#backup Mikrotik routers

* 21 * * * root /usr/home/Dopelngager/backup_mikrotik

Сохраняем и необходимо перезапустить cron: /etc/rc.d/cron restart.


Таким образом я запланировал работу скрипта ежедневно в 21 час, еженедельно, ежемесячно, ежегодно. ВАЖНО! Соблюдайте пробелы и табуляции при добавлении записей в файл, cron чувствителен к этим вещам. А лучше про него подробнее почитайте в интернете.


У меня все, надеюсь было полезно. За ошибки и шакальные картинки простите. Unix-подобные системы знаю плохо, только учусь - так что сильно не придирайтесь. Если у кого есть вариант улучшить скрипт или его работу - обязательно приму во внимание.

А вот кстати результат работы срипта:

Автоматизация бэкапов. Mikrotik, Резервное копирование, Freebsd, Linux, Автоматизация, Длиннопост
Показать полностью 10
[моё] Mikrotik Резервное копирование Freebsd Linux Автоматизация Длиннопост
20
126
koosharik
koosharik
7 лет назад
IT-юмор

PokeCode-King.⁠⁠

PokeCode-King. Покемоны, Программист, Freebsd
PokeCode-King. Покемоны, Программист, Freebsd
Показать полностью 2
Покемоны Программист Freebsd
18
1
volotimir
volotimir
7 лет назад

Операционная система FreeBSD согласна с тем, что Крым наш⁠⁠

Операционная система FreeBSD согласна с тем, что Крым  наш
[моё] Крым Freebsd
14
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии