1.setting.py文件,修改数据存储方式python
说明:注释sqlite3数据库,改用mysql链接mysql
DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": "cmdb", "USER": "root", "PASSWORD": "root", "HOST": "127.0.0.1", "PORT": "3306", } }
2.安装mysql,建立库cmdb数据库sql
命令:yum install -y mysql-server数据库
3.删除原来sqlite文件、安装mysql模块文件django
命令:rm -rf db.sqlite3服务器
yum list|grep MySQL-pythonide
yum install -y MySQL-python.x86_643d
4.使用管理脚本,同步数据库server
python manage.py validatesqlite
python manage.py syncdb
5.修改hostinfo目录下,修改views.py文件,查看启动属性
6.启动服务器,和收集脚本
python manage.py runserver 0.0.0.0:8000
python getHostInfo.py
7.修改收集信息脚本,将信息序列化内存中,执行脚本,序列化,查看打印信息
执行收集脚本,结果:
8.反序列化,修改views.py
执行收集脚本,运行结果:
9.修改信息收集脚本,实例化
from django.shortcuts import render from hostinfo.models import Host from django.http import HttpResponse import pickle def collect(req): #print req if req.POST: #if req.method == "POST": #print req.body #print pickle.loads(req.body) #hostname = req.POST.get("hostname") #ip = req.POST.get("ip") #osver = req.POST.get("osver") #vendor = req.POST.get("vendor") #product = req.POST.get("product") #cpu_model = req.POST.get("cpu_model") #cpu_num = req.POST.get("cpu_num") #memory = req.POST.get("memory") #sn = req.POST.get("sn") obj = pickle.loads(req.body) hostname = obj["hostname"] ip = obj["ip"] osver = obj["osver"] vendor = obj["vendor"] product = obj["product"] cpu_model = obj["cpu_model"] cpu_num = obj["cpu_num"] memory = obj["memory"] sn = obj"sn"] host = Host() host.hostname = hostname host.ip =ip host.osver = osver host.product = product host.cpu_model = cpu_model host.cpu_num = cpu_num host.memory = memory host.vendor = vendor host.sn = sn host.save() return HttpResponse("OK") else: return HttpResponse("no data")
执行收集脚本,运行结果: