Voir Cisco Memorandum _ config input with Python pour les paramètres de base pour exécuter des scripts Python sur IOS-XE.
Chemin: / flash / ファイル:eem_script.py Entrez guesthell pour créer ou transférer des fichiers
isp-sw#guestshell
[guestshell@guestshell ~]$
[guestshell@guestshell ~]$ cd /flash/
[guestshell@guestshell flash]$ vi eem_script.py
Le contenu que le IF du Loopback 55 est "no shut" et le statut IF est affiché avec "sh ip int brief". Cette fois, le déclencheur de l'exécution du script est spécifié par l'applet EEM.
eem_script.py
import sys
from cli import cli,clip,configure,configurep, execute, executep
intf= sys.argv[1:]
intf = ''.join(intf[0])
print ('This script is going to unshut interface %s and then print show ip interface brief'%intf)
if intf == 'loopback55':
configurep(["interface loopback55","no shutdown","end"])
else :
cmd='int %s,no shut ,end' % intf
configurep(cmd.split(','))
executep('show ip interface brief')
Vous pouvez également exécuter le script manuellement en mode EXEC ainsi que depuis l'applet EEM
sh ip int brief
dans le script est exécutée à partir du mode EXEC, elle n'est pas exécutée par l'applet EEM.isp-sw#guestshell run python /flash/eem_script.py loop55
This script is going to unshut interface loop55 and then print show ip interface brief
Line 1 SUCCESS: int loop55
Line 2 SUCCESS: no shut
Line 3 SUCCESS: end
Interface IP-Address OK? Method Status Protocol
Vlan1 unassigned YES NVRAM administratively down down
---réduction---
Loopback13 10.13.13.13 YES manual up up
Loopback55 10.55.55.55 YES TFTP up up
En mode réglage Contenu pour exécuter le script à adminUP avec le syslog d'admindown comme déclencheur
isp-sw(config)#event manager applet intshut
isp-sw(config-applet)# event syslog pattern "Interface Loopback55, changed state to administratively down"
isp-sw(config-applet)# action 0.0 cli command "en"
isp-sw(config-applet)# action 1.0 cli command "guestshell run python /flash/eem_script.py loop55"
isp-sw(config-applet)#end
En mode réglage Spécifiez le chemin de placement
isp-sw(config)#event manager directory user policy "flash:/"
En mode EXEC S'affiche si enregistré normalement
isp-sw#sh event manager policy registered
No. Class Type Event Type Trap Time Registered Name
1 applet user syslog Off Thu Mar 28 16:37:52 2020 intshut
pattern {Interface Loopback55, changed state to administratively down}
maxrun 20.000
action 0.0 cli command "en"
action 1.0 cli command "guestshell run python /flash/eem_script.py loop55"
Entrez la commande d'arrêt en mode de réglage, sortez le journal vers le terminal avec ter mon et vérifiez le fonctionnement. Il est automatiquement UP après l'arrêt du journal.
isp-sw(config-if)#shutdown
isp-sw(config-if)#
Mar 28 16:56:22.428 JST: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback55, changed state to down
Mar 28 16:56:22.428 JST: %LINK-5-CHANGED: Interface Loopback55, changed state to administratively down
isp-sw(config-if)#
Mar 28 16:56:29.880 JST: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback55, changed state to up
isp-sw(config-if)#
Mar 28 16:56:29.880 JST: %LINK-3-UPDOWN: Interface Loopback55, changed state to up
isp-sw(config-if)#
En mode EXEC Il fonctionne normalement par EEM avec succès
isp-sw#sh event manager history events
No. Job Id Proc Status Time of Event Event Type Name
1 1 Actv success Thu Mar28 16:36:19 2020 syslog applet: intshut
2 2 Actv success Thu Mar28 16:43:43 2020 syslog applet: intshut
3 3 Actv success Thu Mar28 16:56:22 2020 syslog applet: intshut
Modèle: Catalyst 3850 Ver:Cisco IOS XE 16.06.05 Everest
Programmability Configuration Guide, Cisco IOS XE Everest 16.6.x
Recommended Posts