Diverse Cisco Geräte können bei einem write Event die Konfiguration an einen anderen Server z.B. über HTTP pushen.
Cisco Config:
archive path http://1.2.3.4/cisco_config/put/$h-$t write-memory
Apache /etc/httpd/conf.d/zzz_cisco_backup.conf:
WSGIDaemonProcess cisco_backup user=apache group=apache threads=10
WSGIPythonPath /opt/cisco_backup/web_root
WSGIScriptAlias /cisco_backup /opt/cisco_backup/web_root/cisco_backup.wsgi
<Directory /opt/cisco_backup/web_root>
WSGIProcessGroup cisco_backup
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Order deny,allow
Allow from all
<Files cisco_backup.py>
Require all granted
</Files>
<Files cisco_backup.wsgi>
Require all granted
</Files>
</Directory>cisco_backup.wsgi File:
import sys
sys.path.append("/opt/cisco_backup/web_root")
from cisco_backup import app as application
cisco_backup.py File:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route("/put/<cfg>", methods=['PUT'])
def get_config(cfg):
with open('/opt/cisco_config/incoming_configs/%s' % cfg, "wb") as f:
f.write(request.data)
return "ok"
if __name__ == "__main__":
app.run()Viel Spaß 😉
