rev="post-1054" No Comments
Маршрутизаторите и комутаторите също имат нужда от архивиране! Не че това ще направи подмяната на изгорял рутер удоволствие, но ще е значително по-лесно. А и решението е почти контрол на версиите – с един 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.
Сега може да си пиете бирата все едно мрежата е архивирана 🙂
Наздраве!
Последни коментари