设为首页 收藏本站
查看: 4793|回复: 6

[经验分享] python操作数据库和urllib及paramiko的使用

[复制链接]

尚未签到

发表于 2013-6-19 08:39:03 | 显示全部楼层 |阅读模式

#!/usr/bin/env python

import MySQLdb

import paramiko

import urllib

import urllib2

from datetime import *

from optparse import OptionParser

grouplist=('all@spolo.org',

'art@spolo.org',

'gclient@spolo.org',

'glueui@spolo.org',

'glueapi@spolo.org',

'glue@spolo.org',

'gmeditor@spolo.org',

'gluetil@spolo.org',

'webapp@spolo.org')

def join_mail_group(conn,cur,mail_name,mail_group):

if mail_group in grouplist:

cur.execute('SELECT goto FROM vmail.alias where address="%s" % mail_group')

rows=cur.fetchall()[0][0]

rows="\r\n".join([rows, mail_name])

cur.execute('UPDATE vmail.alias set goto="%s" % rows where address="%s" % mail_group')

conn.commit()

else:

print "please ensure mail_group correctly"

def deluser_mail_group(conn,cur,mail_name,mail_group):

if mail_group in grouplist:

cur.execute('SELECT goto FROM vmail.alias where address="%s"' % mail_group)

rows=cur.fetchall()[0][0].replace("\r\n%s" % mail_name,"")

cur.execute('UPDATE vmail.alias set goto="%s" where address="%s"' % (rows,mail_group))

conn.commit()

else:

print "please ensure mail_group correctly"

def add_user(cur, mail_name, user,maildir_stor):

client=paramiko.SSHClient()

client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

client.connect('192.168.1.4', 22, username='root', password="******", timeout=4)

stdin,stdout,stderr = client.exec_command("openssl passwd -1 %s" % user)

pwd=stdout.readlines()[0].replace("\n","")

cur.execute('INSERT INTO vmail.mailbox(username,password,name,maildir,quota,domain,local_part) \

VALUES("%s","%s","%s","%s","1024","spolo.org","%s")' % (mail_name,pwd,user,maildir_stor,user))

print  "the user has been created"

def user_del(cur, mail_name):

cur.execute("DELETE FROM vmail.mailbox WHERE username=\"%s\"" % mail_name)

print "the user has been deleted!!!"

def svn_userdel(user,url):

url_chanpin="http://192.168.4.10/admin/deluser.php"

url_glue="http://glue.spolo.org/deluser.php"

url_spp="http://spp.spolo.org/deluser.php"

url_list=('url_chanpin','url_glue','url_spp')

if url == 'url_chanpin':

http_oper(user,url_chanpin)

elif url == 'url_glue':

http_oper(user,url_glue)

elif url == 'url_spp':

http_oper(user,url_spp)

else:

print "the url is error ,plear rewrite!!!/n"

def http_oper(user,url):

data={"username": user,"repeat_username": user,"operation":"1"}

data=urllib.urlencode(data)

req=urllib2.Request(url,

data=data,

headers={"Authorization": "Basic d2FuZ3poZW55dToxMjM2NTQ="})

rep = urllib2.urlopen(req).read().decode('utf-8')

print rep

def main():

usage="usage: %prog[-h][-a][-d]"

parser=OptionParser(usage=usage)

parser.add_option("-a",action="store_const", const=1, dest="add_user",help="add mailbox")

parser.add_option("-d",action="store_const", const=1, dest="delete_user",help="delete mailbox")

parser.add_option("-g",dest="user_group",help="join mail_group")

parser.add_option("-G",dest="userdel_group",help="del user from group")

parser.add_option("-n",dest="username",help="username")

parser.add_option("-s",dest="svn",help="input owner's svn eg: url_chanpin,url_glue,url_spp")

(options,args)=parser.parse_args()

username=options.username

url=options.svn

mail_group=options.user_group

conn=MySQLdb.connect(host='192.168.1.4',user='root',passwd="**********")

cur=conn.cursor()

dt=datetime.now()

dt_format=dt.strftime('%Y.%m.%d.%H.%M.%S')

userlist=username.split(',')

#maildir_stor='%s/%s/%s' % ("spolo.org", username, dt_format)

#mail_name=options.username+"@spolo.org"

if options.add_user:

for user in userlist:

maildir_stor='%s/%s/%s' % ("spolo.org", user, dt_format)

mail_name=user+"@spolo.org"

add_user(cur, mail_name, user, maildir_stor)

if options.delete_user:

for user in userlist:

mail_name=user+"@spolo.org"

user_del(cur, mail_name)

if options.user_group:

join_mail_group(conn, cur, mail_name, mail_group)

if options.userdel_group:

deluser_mail_group(conn, cur, mail_name, mail_group)

if options.svn:

for user in userlist:

svn_userdel(user, url)

conn.close()

if __name__ == '__main__':

main()



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-6531-1-1.html 上篇帖子: awk补充:正则、FIELDWIDTHS、gensub、strftime() 下篇帖子: python分析nginx访问日志 python 数据库

尚未签到

发表于 2013-6-19 08:44:41 | 显示全部楼层
我妈常说,我们家要是没有电话就不会这么穷。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-19 08:48:50 | 显示全部楼层
路边的野花不要,踩。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-19 08:54:55 | 显示全部楼层
谢谢楼主,共同发展

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-19 09:16:59 | 显示全部楼层
女,喜甜食,甚胖!该女有一癖好:痛恨蚂蚁,见必杀之。问其故曰:这小东西,那么爱吃甜食,腰还那么细!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-19 09:35:35 | 显示全部楼层
禽兽尚且有半点怜悯之心,而我一点也没有,所以我不是禽兽。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-19 09:46:14 | 显示全部楼层
解释就系掩饰,掩饰等于无出色,无出色不如回家休息!!!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表