Archive: Backup de la configuración del IOS
Una de las cosas que echaba en falta en el IOS al venir del JunOS es el backup de configuraciones (aunque tanto en JunOS como IOS uso Rancid) pero desde la versión 12.3 hay disponible un comando de IOS que permite hacer copia de seguridad de las configuraciones. El comando en cuestión es archive y aunque tiene varias opciones aquí solo voy a exponer algunas con varios ejemplos.
El único requerimiento mínimo es el camino donde se van a guardar las copiar de la configuración, que puede ser en el mismo router (flash) o fuera del mismo (usando HTTP, FTP, RCP, o TFTP), por supuesto la recomendación es guardar las configuraciones fuera del router por si falla la flash o el propio router en sí.
Para configurar sus opciones debemos entrar en el modo global de configuración en donde tenemos las siguientes opciones:
Router(config-archive)#? Archive configuration commands: default Set a command to its defaults exit Exit from archive configuration mode log Logging commands maximum maximum number of backup copies no Negate a command or set its defaults path path for backups rollback Rollback parameters time-period Period of time in minutes to automatically archive the running-config write-memory Enable automatic backup generation during write memory
A destacar especialmente en entornos donde varias personas hacen modificaciones es la opción "write-memory" que genera una copia cada vez que se guarda la configuración con lo cual siempre que se haga cambios tendremos una copia aunque puede generar muchas copias si se producen muchos cambios constantemente, además también destacar "time-period" que hace una copia cada cierto tiempo (aunque para esto prefiero más Rancid) y "maximum" que limita el número de copias a realizar, aunque es recomendable realizar el control de borrado externamente o incluso borrar a mano cuando haya muchas copias, hoy en día un disco duro es muy barato y nunca se sabe cuando nos puede hacer falta una copia de hace tiempo.
Un pequeño ejemplo:
R0#conf t Enter configuration commands, one per line. End with CNTL/Z. R0(config)#archive R0(config-archive)#path disk0:R0 R0(config-archive)#wri R0(config-archive)#write-memory R0(config-archive)#end
Con esto conseguimos que cada vez que se guarde la configuración haga una copia en "disk0" con el nombre del propio router "R0" al cual añadirá "-número" (-1, -2, -3, etc) por cada copia que haga.
R0#dir disk0: Directory of disk0:/ 1 -rw- 839 Aug 17 2008 22:27:08 +00:00 R0-1
Si lo que queremos es guardar una copia en un servidor TFTP remoto podemos hacer lo siguiente:
R0(config-archive)#path tftp://10.10.10.10/R0/copia
con lo que irá guardando copias (copia-1, -2, -3, etc) en el servidor con IP 10.10.10.10 dentro del directorio llamado "R0" (el mismo nombre que el router para una localización posterior rápida). Dos parámetros no mostrados en la ayuda por defecto dentro de PATH son "$h" que indica el nombre del router y "$t" que indica la fecha y hora del router, con lo cual podemos hacer una mini plantilla para todos los routers usando esas variables, así el anterior ejemplo podría convertirse en:
R0(config-archive)#path tftp://10.10.10.10/$h/$t
Para ver las copias que hay además ver la unidad donde se guardan (dir disk0 en el caso anterior) podemos usar:
R0#show archive There are currently 3 archive configurations saved. The next archive file will be named disk0:R0-3 Archive # Name 0 1 disk0:R0-1 2 disk0:R0-2 <- Most Recent 3 4 5 6 7 8 9 10 11 12 13 14
También nos puede interesar ver que diferencias hay entre una copia y otra para saber que se ha modificado o que hay de diferente (especialmente útil en entornos donde varias personas modifican) y podemos ver las diferencias de 2 formas:
R0#show archive config differences disk0:/R0-1 disk0:/R0-3 Contextual Config Diffs: interface FastEthernet0/0 -description prueba
Indica que "description prueba" en R0-1 no está y en R0-3 si, en caso contrario en vez de un digno "-" sería un signo "+". Si se omite "disk0:/R0-3" se compara "disk0:/R0-1" con la configuración actual (que en este caso es la misma que disk0:/R0-3 porque se acaba de generar).