Réaliser une sauvegarde automatique sur TFTP d’un switch Aruba
Sommaire
I. Présentation
La configuration d'un switch est précieuse, et mieux vaut avoir une sauvegarde à jour quelque part de cette configuration. En cas de panne ou de perte de configuration, cela évitera de perdre un temps considérable. Si vous couplez l'utilisation de switchs Aruba avec la solution Airwave, alors il vous sera possible de récupérer les dernières configurations. Cependant, cette solution est coûteuse et nécessite une licence par équipement.
Pour réaliser une sauvegarde automatique sur un serveur TFTP (ou SFTP), nous allons pouvoir créer une tâche planifiée sur le switch Aruba avec la commande job.
II. Utiliser la commande Job sur un switch Aruba
A. Créer un job
La première chose à faire est de se connecter en SSH sur votre switch Aruba. Passez ensuite en mode configuration après vous êtes authentifié auprès de l'équipement. La commande job va nécessite plusieurs paramètres :
- Le nom du job
- L'heure d'exécution
- Quand exécuter le job (une seule fois, à une date précise, tous les lundis, etc...)
- La commande à exécuter
Pour exécuter un job tous les jours, la syntaxe est la suivante :
switch(config)#job <nom-job> at <heure-exécution> config-save "<commande-à-exécuter>"
Pour automatiser la sauvegarde de la configuration vers un TFTP, nous utiliserons la commande ci-dessous. Dans cet exemple, l'adresse du serveur TFTP est "192.168.1.100" et nous allons créer la sauvegarde sous le nom "mon-switch.cnf".
switch(config)#job backup at 20:00 config-save "copy run tftp 192.168.1.100 mon-switch.cnf"
Le paramètre "config-save" inclus ci-dessus n'est pas obligatoire, mais il permet d'indiquer que, avant l'exécution du job, la configuration doit être sauvegardée (write memory).
Je tiens à préciser également qu'à chaque fois que nous allons exécuter le job, il va écraser le fichier existant sur le serveur TFTP donc il n'y a pas de gestion du versionning au niveau des sauvegardes. Si votre TFTP est sauvegardé vous l'aurez naturellement dans vos sauvegardes, si vous souhaitez faire plus, vous pouvez créer un script sur votre serveur TFTP pour justement gérer les sauvegardes poussées par le switch. Nous pouvons imaginer que, chaque jour, juste après que la sauvegarde s'effectue, un script sur le serveur TFTP vient renommer le fichier en ajoutant la date en préfixe.
Pour revenir à la commande job, si l'on veut exécuter une tâche uniquement le 1er de chaque mois, ou uniquement le mercredi et le samedi, etc... il faudra être plus précis et inclure la directive "on".
switch(config)#job <nom-job> at <heure-exécution> on <quels-jours> config-save "<commande-à-exécuter>"
Pour les valeurs possibles sur le paramètre "on", voici quelques infos issues de l'aide :
Avant d'inclure votre commande au sein d'un job, je vous recommande de la tester manuellement pour être sûr qu'elle fonctionne 😉
B. Supprimer un job
Si un job n'a plus d'utilité sur votre switch et que vous souhaitez le supprimer, alors il suffit de préfixer la commande par "no", par exemple :
switch(config)#no job <nom-du-job>
C. Activer ou désactiver un job
Sans supprimer systématiquement un job comme évoqué précédemment, vous pouvez le désactiver puis le réactiver par la suite. Ceci est pratique car vous évitez de le récréer si votre souhait est de le stopper temporairement.
La syntaxe à utiliser est la suivante (activer|désactiver) :
switch(config)#job <nom-du-job> enable|disable
D. Voir les jobs
Enfin, pour visualiser les jobs existants, c'est tout simple mais c'est bien pratique :
switch#show job
Ce qui retourne la liste des jobs configurés sur le switch :
Job Scheduler Status and Configuration Scheduler Status : Running Event or Repeat Save Name Time Count Cfg Command ------- ----- ------ ---- ------------------------------------------ backup 20:00 -- Yes copy run tftp 192.168.1.100 mon-switch.cnf
Pour le debug ou simplement pour visualiser le statut d'un job, nous pouvons cibler un job précisément pour avoir des informations plus précises :
switch#show job <nom-du-job>
Ce qui retourne :
Job Information Job Name : backup Runs At : 20:00 Config Save : Yes Repeat Count : -- Job Status : Enabled Running Status : Inactive Run Count : 4 Error Count : 0 Skip Count : 0 Command : copy run tftp 192.168.1.100 mon-switch.cnf Last Run Time : Tue Jun 18 20:00:00 2019 Output from Last Run -------------------- TFTP download in progress. 001M
Pour finir ce tutoriel, je vous propose une astuce dans la dernière partie de ce tutoriel.
E. Rebooter le switch au bout de 5 minutes
Si vous souhaitez tester une configuration mais que vous sentez que vous allez potentiellement perdre la main sur le switch, et qu'en plus vous êtes à 500 km du switch, alors il vaut mieux prendre ses précautions.
Nous pouvons créer un job sous forme de compte à rebours, qui va rebooter le switch automatiquement au bout de 5 minutes (sauf si l'on annule le job manuellement). Par exemple, pour créer le job "lost-protection" pour qu'il redémarre le switch dans un délai de 5 minutes :
switch(config)#job lost-protection delay 5 reboot
Il vous suffira de l'annuler avec un no job pour éviter que le switch redémarre si votre configuration fonctionne.
Hello Florian,
Comment faire un job en sftp sachant que pour lancer la tâche manuellement en sftp (copy run sftp [email protected] mon-switch.cnf.) il demande ensuite le mot de passe du compte utilisé pour contacter le serveur sftp ?
Merci 🙂
Bonjour Thomas,
Si tu veux faire un job avec une copy en sftp, il va falloir que ta commande ne te demande plus le password. Pour cela il faudra que tu génère une paire de clé depuis ton serveur SSH et que tu transfert ta clé privée sur le switch.
Ainsi l’authentification se fera par clé et non plus par password.
C’est comme cela que je fais.
Tu peux t’inspirer de ce tuto :
https://community.arubanetworks.com/blogs/esupport1/2019/03/19/configuration-needed-for-sftp-authentication-using-keyexchange
Bon courage 😉
Sinon, activer le transfert de fichier côté switch et lancer la copie directement depuis le serveur.
Sur le switch, en mode config : ip ssh filetransfer
Sur le serveur de sauvegarde : scp :/cfg/running-config .cfg
Là aussi c’est mieux d’utiliser l’authentification par clé publique, mais dans l’autre sens.
Et c’est un poil plus facile a gérer que des tâches planifiées sur les switchs…