|
[iyunv@LVS1 python]# tar -zxvf Django-1.5.1.tar.gz
[iyunv@LVS1 python]# cd Django-1.5.1
[iyunv@LVS1 Django-1.5.1]# python setup.py install
[iyunv@LVS1 Django-1.5.1]# cd django/bin/
[iyunv@LVS1 bin]# ./django-admin.py startproject myweb
[iyunv@LVS1 bin]# cd myweb
[iyunv@LVS1 myweb]# ./manage.py runserver 0.0.0.0:8000
#http://192.168.1.10:8000/
--------------------------------------------------------------
[iyunv@LVS1 bin]# cd myweb
[iyunv@LVS1 myweb]# pwd
/tmp/python/Django-1.5.1/django/bin/myweb/myweb
vi view.py
from django.http import HttpResponse
import datetime,time,os
def hello(request):
return HttpResponse('hello my name is xk')
def current_time(request):
now=datetime.datetime.now()
html="It is now :%s"%now
return HttpResponse(html)
def cpu(request):
status=os.popen('top -bn 1').read()
html="<pre>%s"%status
return HttpResponse(html)
def hours_ahead(request,h):
offset=int(h)
dt=datetime.datetime.now() + datetime.timedelta(hours=offset)
html="In %s hours later,It is %s"%(h,dt)
return HttpResponse(html)
----------------------------------------------------------------------------
[iyunv@LVS1 myweb]# vi urls.py
from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
from myweb.view import hello,current_time,cpu,hours_ahead
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'myweb.views.home', name='home'),
# url(r'^myweb/', include('myweb.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
# url(r'^admin/', include(admin.site.urls)),
(r'^hello/$',hello),
(r'^time/$',current_time),
(r'^cpu/$',cpu),
(r'^time/plus/(\d{1,2})/$',hours_ahead),
)
#http://192.168.1.10:8000/hello/
#########################################################模板
[iyunv@LVS1 myweb]# pwd
/tmp/python/Django-1.5.1/django/bin/myweb/myweb
[iyunv@LVS1 myweb]# tail -2000 view.py
from django.shortcuts import render_to_response
import os
import paramiko
hosts=['192.168.1.10','192.168.1.11','192.168.1.12','192.168.1.13']
username='root'
password='123456'
port=22
d_usage={}
def disk(request):
for hostname in hosts:
if os.system('ping %s -c 1'%hostname)==0:
paramiko.util.log_to_file('paramiko.log')
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(hostname,port,username,password)
stdin,stdout,stderr=s.exec_command('free')
d_usage[hostname]= stdout.read()
s.close()
else:
d_usage[hostname]='host Destination Host Unreachable'
name={'xkq':[25,'male'],'zq':[23,'male'],}
return render_to_response('disk.html',{"d_usage":d_usage,'name':name,})
------------------------------------------------------------
[iyunv@LVS1 templates]# pwd
/tmp/python/Django-1.5.1/django/bin/myweb/myweb/templates
[iyunv@LVS1 templates]# tail -1000 disk.html
<html>
<body>
<p> show disk usage<p></br>
{{d_usage}}</br>
{% for ip,value in d_usage.items %}
{{ip}}
<pre> {{value}}</pre>
{% endfor %}
{{name}}
</body>
</html>
##########################################测试不对一下
from django.shortcuts import render_to_response
import multiprocessing
import os,time
import paramiko
hosts=['192.168.1.10','192.168.1.11']
#,'192.168.1.12','192.168.1.13']
username='root'
password='123456'
port=22
name={}
d_usage=[]
#d_usage={}
def cmd(hostname):
if os.system('ping %s -c 1'%hostname)==0:
paramiko.util.log_to_file('paramiko.log')
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(hostname,port,username,password)
stdin,stdout,stderr=s.exec_command('free')
# d_usage[hostname]= stdout.read()
# print stdout.read()
print 'xukeqiang'
s.close()
else:
# d_usage[hostname]='host Destination Host Unreachable'
print 'host Destination Host Unreachable'
name={'xkq':[25,'male'],'zq':[23,'male'],}
# sleep.time(10)
def disk(request):
p=multiprocessing.Pool(processes=2)
for hostname in hosts:
d_usage.append((p.apply_async(cmd,('%s'%hostname,))))
time.sleep(20)
p.close()
# p.join()
for i in d_usage:
i.get(timeout=20)
time.sleep(10)
return render_to_response('disk.html',{"d_usage":d_usage,'name':name,})
|
|