Skip to content

By Тодор in Cisco, Linux

Маршрутизаторите и комутаторите също имат нужда от архивиране! Не че това ще направи подмяната на изгорял рутер удоволствие, но ще е значително по-лесно. А и решението е почти контрол на версиите – с един commit на ден, което помага и при синдрома “вчера работеше”.
Най-лесния начин, за който се сещам е автоматична бекъпвачка с Ansible.

Попълваме инвентара в текстов файл горе-долу по тоя пример (ios-inventory):

[all:vars]
backup_dest="/ios_backups/"
date_stamp="{{ ansible_date_time.year }}{{ ansible_date_time.month }}{{ ansible_date_time.day }}-{{ ansible_date_time.hour }}{{ ansible_date_time.minute }}"
ansible_connection=local
ansible_user=ansible
ansible_password=na-baba-mi-parolata
ansible_become_method=enable

[sw1]
192.168.0.254
[sw2]
192.168.0.253
[sw3]
192.168.0.252

После създаваме следния ямълски плейбук (playbook.yml):

---
- name: Cisco IOS backup job
  hosts: all
  gather_facts: yes
  strategy: free

  tasks:
    - name: Collecting remote facts
      ios_facts:
        gather_subset:
          - all
    - name: Create backup root folder
      file:
        path: "{{ backup_dest }}"
        state: directory
      run_once: yes
    - name: Create backup device folder
      file:
        path: "{{ backup_dest }}{{ ansible_net_hostname }}"
        state: directory
      run_once: yes
    - name: Saving configuration to file
      copy:
        content: "{{ ansible_net_config }}"
        dest: "{{ backup_dest }}{{ ansible_net_hostname }}/{{ inventory_hostname }}-{{ date_stamp }}.txt"

Изпълняваме ето така:
ansible-playbook -i ios-inventory playbook.yml

Добавяйки абсолютните пътища до файловете, тоя ред го мушваме в крон за ежедневно изпълнение и с това връзваме гащите.
Ако имената и паролите за достъп до техниката са различни, то, където е необходимо, променливите с името и паролата ги слагаме на реда с ИП адреса, разделени с интервал.
Ретеншън може да се поддържа с logrotate.

Сега може да си пиете бирата все едно мрежата е архивирана 🙂
Наздраве!

Tags: , , , ,

Comment Feed

No Responses (yet)



Some HTML is OK

or, reply to this post via trackback.