Grundlegende Einstellungen zum Ausführen von Python-Skripten unter IOS-XE finden Sie unter Eingabe von Cisco Memorandum _ config mit Python.
Pfad: / flash / ファイル:eem_script.py Geben Sie guestshell ein, um Dateien zu erstellen oder zu übertragen
isp-sw#guestshell
[guestshell@guestshell ~]$
[guestshell@guestshell ~]$ cd /flash/
[guestshell@guestshell flash]$ vi eem_script.py
Der Inhalt, dass die IF von Loopback 55 "no shut" ist und der IF-Status mit "sh ip int brief" angezeigt wird. Dieses Mal wird der Auslöser der Skriptausführung vom EEM-Applet angegeben.
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')
Sie können das Skript auch manuell im EXEC-Modus sowie über das EEM-Applet ausführen
sh ip int brief
im Skript im EXEC-Modus ausgeführt wird, wird er nicht vom EEM-Applet ausgeführt.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
---Kürzung---
Loopback13 10.13.13.13 YES manual up up
Loopback55 10.55.55.55 YES TFTP up up
Im Einstellmodus Inhalt zum Ausführen des Skripts an adminUP mit dem Syslog von admindown als Auslöser
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
Im Einstellmodus Geben Sie den Platzierungspfad an
isp-sw(config)#event manager directory user policy "flash:/"
Im EXEC-Modus Wird angezeigt, wenn normal registriert
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"
Geben Sie den Befehl shutdown im Einstellungsmodus ein, geben Sie das Protokoll mit ter mon an das Terminal aus und überprüfen Sie den Betrieb. Nach dem Herunterfahren aus dem Protokoll wird es automatisch aktiviert.
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)#
Im EXEC-Modus Es läuft normal von EEM mit Erfolg
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
Modell: Katalysator 3850 Ver:Cisco IOS XE 16.06.05 Everest
Programmability Configuration Guide, Cisco IOS XE Everest 16.6.x
Recommended Posts