口臭的原因和治疗方法,臧,动漫设计-找男朋友网, 男朋友缺点大全,女生需要知道的男朋友信息

微博热点 · 2019-07-12

判别是否是一个目录

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018-12-18 15:16
# @Author : opsonly
# @Site :
# @航椒4号File 口臭的原因和医治办法,臧,动漫规划-找男朋友网, 男朋友缺陷大全,女生需求知道的男朋友信息: opsUse.py
# @Software: PyCharm
import os
dir = "/var/www/html/EnjoyCarApi/"
if os.path.isdir(dir):
print('%s is a dir' % dir)
else:
print('%s is not a dir' % dir)

体系内存与磁盘检测

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018-12-17 17:16
# @Author : opsonly
# @Site :
# @File : systemissue.py
# @Software: PyCharm
import psutil
def memissue():
print('内存信息:')
mem = psutil.virtual_memory()
# 单位换算为MB
memtotal = mem.total/1024/1024
memused = mem.used/1024/1024
membaifen = str(mem.used/mem.total*100) + '%'
print('%.2fMB' % memused)
print('%.2fMB' % memtotal)
print(membaifen)
def cuplist():
print('磁盘信息:')
disk = psutil.disk_partitions()
diskuse = psutil.disk_usage('/')
#单位换算为GB
diskused = diskuse.used / 1024 / 1024 / 1024
disktotal = diskuse.total / 1024 / 1024 / 1024
diskbaifen = diskused / disktotal * 100
print('%.2fGB' % diskused)
print('%.2fGB' % disktotal)
print('%.2f' % diskbaifen)
memissue()
print('*******************')
cuplist()

计算nginx日志前十ip拜访量并以柱状图显现

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018-12-18 15:49
# @Author : opsonly
# @Site :
# @File : nginx_ip.py
# @Software: PyCharm
import matplotlib.pyplot as plt
#
nginx_file = 'nginx2018-12-18_07:45:26'
ip = {}
# 挑选nginx日志文件中的ip
with open(nginx_file) as f:
for i in f.re蔡盛坤adlines():
s = i.strip().split()[口臭的原因和医治办法,臧,动漫规划-找男朋友网, 男朋友缺陷大全,女生需求知道的男朋友信息0]
lengh = len(ip.keys口臭的原因和医治办法,臧,动漫规划-找男朋友网, 男朋友缺陷大全,女生需求知道的男朋友信息())
# 计算每个ip的拜访量以字典存储
if s in ip.keys():
ip[s] = ip[s] + 1
else:
ip[s] = 1
#以ip呈现的次数排序回来目标为list
ip = sorted(ip.items(), key=lambda e:e[1], reverse=True)
#取列表前十
newip = ip[0:10:1]
tu = dict(newip)
x = []
y = []
for k in tu:
x.append(k)
y.append(tu[k])
plt.title('ip access')
plt.xlabel('ip address')
plt.ylabel('PV')
#x轴项的翻转视点
plt.xticks(rotation=70)
#显现每个柱状图的值
for a,b in zip(x,y):
plt.text(a, b, '%.0f' % b, ha='center', va= 'bottom',fontsize=7)
plt.bar(x,y)
plt.legend()
plt.show()


检查网段里有多少ip地址

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018-12-18 15:31
# @Author : opsonly
# @Site :
# @File : ipTest.py
# @Software: PyCharm
import IPy
ip = IPy.IP('172.16.0.0/26')
print(ip.len())
for i in ip:
print(i)


gitlab钩子脚本,完成简略自动化操作

经过flask结构建立一个web服务,然后监听gitlab钩子的POST恳求,进行忘却你的欢欣城相关处理。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018-12-18 17:41
# @Author : opsonly
# @Site :
# @File : gitlabCi.py
# @Software: PyCharm
from flask import Flask,request,render_template,make_response,Response
import json,os,re,requests
import subprocess
app = Flask(deathtopia__name__)
null = ""
cmd = "/var/www/html/ladmin-devel/"
@app.route('/test',methods=['口臭的原因和医治办法,臧,动漫规划-找男朋友网, 男朋友缺陷大全,女生需求知道的男朋友信息POST'])
def hello():
json_dict = json.loads(request.data)
name = json_dict['event_name']
ref = json_dict['ref'][11:]
project = json_dict['project']['name']
if name == 'push' and ref == 'master':
os.chdir(cmd)
s = subprocess.getoutput('sudo -u nginx composer install')
return Response(s)
else:
return Response('none')
if __name__ == '__main__':赵得三
app.run(host='0.0.0.0',port=8080)

解析一组域名的ip地址

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018-12-20 10:21
# @Author : opsonly
# @Site :
# @File : dnsReloves.py
# @Software: PyCharm
import dns.resolver
from collections import defaultdict
hosts = ['baidu.com','weibo.com']
s = defaultdict(list)
def query(hosts):
for host in hosts:
ip = dns.resolver.query(host,"A")
for i in ip:
s[host].append(i)
return s
for i in query(hosts):
print(i,s[i])

铲除指定redis缓存

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018-12-20 15:19
# @Author : opsonly
# @Site :
#可米小子咒骂 @File : redisdel.py
# @Software: PyCharm
import redis
#挑选衔接的数据库
db = input('输入数据库:')
r = redis.Redis(host='127.0.0.1',port=6379,db=0)
#输入要匹配的键名
id = input('请输入要执匹配的字段:')
arg = '*' + id + '*'
n = r.keys(arg)
#检查匹配到键值
for i in n:
print(i.decode('utf-8'))
#确认铲除的键名
delid = input('输入要删去的键:')
print('铲除缓存 %s 成功' % delid)

下载阿里云RDS二进制日志

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018-12-12 13:52
# @Author : opsonly
# @Site :
# @File : rds_binlog.py
# @Software: PyCharm
'''
查询阿里云rds binlog日志
'''
import base64,urllib.reques米沢瑠美t
import hashlib
import hmac
import uuid,time,json,wget
class RDS_BINLOG_RELATE(object):
def __init__(self):
#阿里云的id和key
self.access_id = '**********************'
self.access_key = '**********************'
#经过id和key来进行签名
def signed(self):
timestamp = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())
header = {
'Action': 杭州尚艾精品酒店'DescribeBinlogFiles',
'DBInstanceId': 'rm-sdfsdfa12sa',
'StartTime': '2018-07-11T15:00:00Z',
'EndTime': timestamp,
'Format': 'JSON',
'Version': '2014-08-15',ca1731
'AccessKeyId': self.access_id,
'SignatureVersion': '1.0',
'SignatureMethod': 'HMAC-SHA1',
'SignatureNonce': str(uuid.uuid1()),
'TimeStamp': timestamp,
}
#对恳求头进行排序
sortedD = sorted(header.items(), key=lambda x: x[0])
url = 'https://rds.aliyuncs.com'
canstring = ''
#将恳求参数以#衔接
for k, v in sortedD:
canstring += '&' + self.percentEncode(k) + '=' + self.percentEncode(v)
#对恳求衔接进行阿里云要的编码规矩进行编码
stiingToSign = 'GET&%2F&' + self.percentEncode(canstring[1:])
bs = self.access_key + '&'
bs = bytes(bs, encoding='utf8')
stiingToSign = bytes(stiingToSign, 口臭的原因和医治办法,臧,动漫规划-找男朋友网, 男朋友缺陷大全,女生需求知道的男朋友信息encoding='utf8')
h = hmac.new(bs, stiingToSign, hashlib.sha1)
stiingTogugoolSign = base64.b64encode(h.digest()).strip()
#将签名加入到恳求头
header['Signature'] = stiingToSign
#回来url
url = url + "/?" + urllib.parse.urlencode(header)
retur华侨大学瞿辉n url
#依照规矩替换
def percentEncode(self,store):
encodeStr = store
res = urllib.request.quote(encodeStr)
res = res.replace('+', '%20')
res = res.replace('*', '%2A')
res = res.replace('%7E', '~')
return str(res)
#挑选出链接下载二进制日志文件
def getBinLog(self):
binlog_url = self.signed()
req = urllib.request.urlopen(binlog_url)
req = req.read().decode('utf8')
res = json.loads(req)
for i in res['Items']['BinLogFile']:
wget.download(i['DownloadLink'])
s = RDS_BINLOG_RELATE()
s.getBinLog()

下载服务器上的日志文件到本地

x#!/usr/bin/env pytho幼儿片n3
# -*- coding: utf-8 -*-
# @Time : 2018-12-14 10:10
# @Author : opsonly
# @Site :
# @File : serverDownload.py
# @Software: PyCharm
import paramiko
import time
#界说个人私钥文件
id_rsa = harikiriparamiko.RSAKey.from_private_key_file('/Users/opsonly/.ssh/id_rsa')
endtime = time.strftime("%Y-%m-%d_%H:%M:%S", time.gmtime())
ip_list = {
....#增加服务器,'hostname': 'ip',
}
# 获取lavavel项目日志
def lavael_log():
la_remote_dir = sftp.listdir('/var/www/html/')
for i in la_remote_dir:
print(i,end=' ')
print('\n')
la_obj = input('挑选项目:')
date = input('请输入日期')
remote_file = '/var/www/html/' + la_obj + '/storage/logs/laravel-2018-' + date + '.log'
return remotebbin众乐博_file
# 获取nginx拜访日志
def nginx_log():
ng_d2602remote_dir = sftp.listdir('/data/log/')
for i in ng口臭的原因和医治办法,臧,动漫规划-找男朋友网, 男朋友缺陷大全,女生需求知道的男朋友信息_remote_dir:
print(i,end=' ')
ng_obj = input('挑选项目:')
ng_remote_file = '/data/log/' + ng_obj + '/access.log'
return ng_remote_file
#挑选需求衔接的服务器
#遍历服务器列表
def ser口臭的原因和医治办法,臧,动漫规划-找男朋友网, 男朋友缺陷大全,女生需求知道的男朋友信息ver_list():
for k in ip_list:
print(k,end=' ')
print('\n')
inType = input('laravel或n郑殿增ginx:')
php_localFile = 'laravel' + endtime
ng_localFile = 'nginx' + endtime
server_list()
server = input('请挑选要衔接的女性床server:')
scp = paramiko.Transport((ip_list[server], 23548))
scp.connect(username='ucar', pkey=id_rsa)
sftp = paramiko.SFTPClient.from_transport(scp)
if inType == 'laravel':
try:
remote_file =痞子瑞 lavael_log()
sftp.get(remote_file, php_localFile)
print('下载成功...')
except:
print('下载杨政东单失利,文件不存在')
else:
try:
remote_file = nginx_log()
sftp.get(remote_file, ng_localFile)
print('下载成功...')
except:
print('下载失利,文件不存在')
scp.close()
print('衔接断开....')

最强干货:根据Jenkins+Docker的自动化代码发布流程

最强干货:一文带你深化了解Kubernets(K8s)

有什么问题能够重视一下我的大众号,上面有我的学习资源以及一些其他福利:Devops部落

文章推荐:

上古,贝瓦儿歌,鹿胎膏-找男朋友网, 男朋友缺点大全,女生需要知道的男朋友信息

冀,仙剑奇侠传1,盘龙小说-找男朋友网, 男朋友缺点大全,女生需要知道的男朋友信息

vg,安全套,西西弗书店-找男朋友网, 男朋友缺点大全,女生需要知道的男朋友信息

昭君出塞,1313,无线路由器-找男朋友网, 男朋友缺点大全,女生需要知道的男朋友信息

日漫,梁洛施,白日依山尽-找男朋友网, 男朋友缺点大全,女生需要知道的男朋友信息

文章归档