您的位置:首页 > 其它

cisco路由密码恢复

2011-01-14 22:19 435 查看
#!/usr/bin/python

#coding=utf-8
import os,io
import hashlib
import string
import sys
#################################
####mysql服务启动################
#################################
def service_start():
os.system('service mysqld start')
#################################
####mysql状态检查################
#################################
def service_status():
a=os.popen('service mysqld status|cut -c 10-12').readlines()
b=os.popen('netstat -aon|grep 3306|cut -c 24-27').readlines()
#a=os.popen('ls /home').readlines()
#a=os.listdir('/home')
if(a[0].strip('\n')=='not'):
# os.system('service mysql.server start')
print ('服务未启动')
else:
print ('服务已启动')
try:
if(b[0].strip('\n')=='3306'):
print ('3306端口正常')
else:
print ('3306端口未启动')
except Exception:
print ('3306端口未启动')
d=os.popen('service mysqld status').readlines()
print (d[0])
###########################
#####选择器################
###########################
def switch(type):
x = {'1':lambda:service_start(),
'2':lambda:service_status(),
'3':lambda:old_md5(),
'4':lambda:new_md5(),
'5':lambda:bijiao_md5()}
return x[type]()
########################################
#旧md5验证##############################
########################################
def calMd5(afile):
m = hashlib.md5()
file = io.FileIO(afile,'r')
bytes = file.read(1024)
while(bytes != b''):
m.update(bytes)
bytes = file.read(1024)
file.close()
md5value = m.hexdigest()
return md5value

def visitor(args, directoryName,filesInDirectory): # called for each dir
#line='%s\n' %(directoryName)
#myfile.write(line)
print "\t"*(args-1),directoryName
for fname in filesInDirectory:
fpath = os.path.join(directoryName, fname)
abc="%s\n" %fpath
myfile.write(abc)
if not os.path.isdir(fpath):
print "\t"*args,fname,"\t",calMd5(fpath)
line="%s\t%s\t\t\t%s\n" %(directoryName,fname,calMd5(fpath))
myfile.write(line)
def calDirMd5(startdir, level):
os.path.walk(startdir, visitor, level+1)
def old_md5():
backup=raw_input("请输入mysql备份路径:")
global myfile
myfile=open('/opt/old_md5','w')
calDirMd5(backup,0)
myfile.close()
##############################
#########新md5校验############
##############################
def new_md5():
newbackup=raw_input('请输入mysql备份路径:')
global myfile1
myfile1=open('/opt/new_md5','w')
new_calDirMd5(newbackup,0)
myfile1.close()

def new_visitor(args, directoryName,filesInDirectory): # called for each dir
print "\t"*(args-1),directoryName
for fname in filesInDirectory:
fpath = os.path.join(directoryName, fname)
abc="%s\n" %fpath
myfile1.write(abc)
if not os.path.isdir(fpath):
print "\t"*args,fname,"\t",calMd5(fpath)
line="%s\t%s\t\t\t%s\n" %(directoryName,fname,calMd5(fpath))
myfile1.write(line)
def new_calDirMd5(startdir, level):
os.path.walk(startdir, new_visitor, level+1)
#############################
#####验证一致性##############
#############################
def bijiao_md5():
a=calMd5('/opt/old_md5')
b=calMd5('/opt/new_md5')
if a==b:
print "数据是一致的"
else:
print "数据是不一致的"
if __name__=='__main__':
shuru=raw_input('请输入数字(如:1,2,3,4): \n 1启动mysql \n 2查看mysql状态 \n 3旧数据一致性计算 \n 4新数据一致性计算 \n 5验证数据是否一致 \n')
switch(shuru)
本文出自 “追忆_zb” 博客,请务必保留此出处http://zhengbin.blog.51cto.com/2989505/1179732
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: