- 博客(89)
- 资源 (3)
- 收藏
- 关注
原创 运维职责的定义
应用运维团队的职责:对标招商银行和一线互联网企业的运维团队懂业务&懂技术架构,是某个业务系统的技术与架构专家负责业务系统的部署与变更负责业务系统的异常发现与故障诊断,确保服务连续性负责业务系统的高可用架构设计与实现负责业务系统的性能分析与容量规划初级:部署根据单机故障容灾的原则,对业务进行生产部署。包括新系统上线和现有系统扩容对业务系统进行容灾能力评估和评审,确保具备单机故障容灾能力。如果开发提供的系统不满足单机故障容灾,则需要提出整改要求和建议针对核心系统要考虑两地三中心的容
2021-10-18 14:55:28 364
原创 ansible-playbook template的写法的坑
ansible-playbook的template,好比 django的template,用法几乎一样,也就是把变量投射到模板中。这里一个小坑,那就是使用for或者if条件的时候,需要把{%符号提到第一格,不留空格,否则下面的内容会错乱filebeat.inputs:- type: log close_timeout: 5m enabled: true tail_files: true paths:{% for app in applist %} - /app/{{app}}/l
2021-10-18 14:54:52 346
原创 ansible-playbook 检测文件是否存在的坑
检测文件用stat模块即可,但主要有两种情况第一种:只检测一个文件- name: 检测链路日志是否存在 stat: path=/app/{{appname}}/log/{{appname}}-trace.log register: check_log这里appname是一个字符串,这样判断的时候就是 when: check_log.stat.exists == false #或者t
2021-10-18 11:19:14 1677
原创 ansible 和 ansible-playbook 在 sudo上的明显差别
目前从ansible服务器到目标机器,比如10.1.1.1,可以直接以root远程到目标的mcloud用户,也就是在ansible主机上可执行 ssh -l mcloud 10.1.1.1。这就涉及到sudo的问题了。我发现ansible和ansible-playbook在实现的方式上是不一样的ansible的实现方式这是inventory文件 host1 确定sudo的方式[all]10.1.1.1[all:vars]ansible_become=Trueansible_become_us
2021-10-08 22:02:15 360
原创 ansible的copy模块的权限的坑
我写了这么一个yml,目的就是批量从主机复制文件到各个节点,这里的app_name是变量。本来很简单,但是我执行了一次之后,再执行一次,就报了这样的错误反正就是没有权限了,真是怪哉,去一个节点的这个位置查看,才发现权限乱了,怎么owner的r权限都没了?人工干预后,才停止报错,再执行一遍,又报错了我才怀疑到是mode有问题,这里mode 755是不对的!必须是0755!看了官方说明,才恍然大悟。执行ansible-doc -s copy 有这么一段意思就是,目标文件或目录的权限。mode
2021-10-05 18:35:25 2655
原创 ansible-playbook巧用实现批量执行脚本
ansible的 script 模块 可以用来远程批量执行脚本, 但是ansible-playbook可以做得更精细。这是inventory文件,名称为host 每一条IP都有各自的env变量[all]10.111.1.23 env=SIT10.111.1.24 env=SIT10.111.8.24 env=UAT10.111.5.14 env=Prod10.111.5.16 env=Prod这是deploy.yml文件---- hosts: all #主机组名
2021-10-02 00:28:30 4535 1
原创 SecureCRT脚本妙用
# $language = "python"# $interface = "1.0"module_list=['agent','hbs','transfer','graph','judge','api','alarm','gateway','aggregator','nodata']initialTab = crt.GetScriptTab()module = crt.Dialog.Prompt("Enter module:","Please input module","",False)for
2021-09-24 00:35:13 445
原创 使用私有的nexus仓库进行maven构建
出现了一个特殊的需求,有一个项目需要用它自己的nexus仓库进行maven构建,又不想另搞一套maven,所以构建的时候要指定配置文件,比如日常mvn操作是这样的mvn clean install -Pmsmart -DskipTests -e为了指定配置文件,就需要改成这样的mvn clean install -s /app/apache-maven-3.5.4/conf/new-settings.xml -DskipTests -e所以关键就是new-settings.xml该怎么写,这也是
2021-09-14 17:49:23 116
原创 Bash—分享一个自动生成随机密码的sh脚本
生成随机数的方法很多,但靠谱的很少,最终发现只有htpasswd最靠谱了,先 yum install httpd expect然后执行这个脚本#!/usr/bin/expect -fspawn htpasswd -nd userexpect "password" { send "\n" }expect "password" { send "\n" } expect "password" { send "\n" } 效果如下 (别忘了chmod a+x generate-pass
2021-09-09 11:20:31 453
原创 使用Ansible安装Kafka集群
1.解压Kafa把kafka的tgz文件解压放在/app下- name: unarchive kafka unarchive: src: kafka_{{KafkaVersion}}.tgz dest: /app copy: yes keep_newer: yes owner: mcloud group: mcloud tags: - unarchive_kafka2.创建 zk/
2021-08-26 20:37:20 1061
原创 vchart实现自定义备注的显示
vchart 官方文档在此 https://vue-echarts.github.iovchart 是结合vue 的非常不错的绘图工具,但是我发现一个问题,那就是显示的都是有数值的,无法显示字符串的。比如有这么一个需求,显示每天走路的步数。如下图发现备注无法显示。也就是我们需要自定义这个tooltip,能让它显示备注,经过摸索,原来这么搞。需要指定一个tooltip的样式tips,在return的变量里面定义tips即可<ve-line :data="chartData" :settings=
2021-08-19 18:23:30 321
原创 普米systemd重启脚本
网上看竟然没有有效的,于是自己写了一个,起码可以用,分享给大家[Unit]Description=Prometheus DaemonAfter=network.target [Service]Type=simpleExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml \--web.listen-address=:9090\--web.enable-adm
2021-08-16 14:14:01 162
原创 Python—实现语音自动播报最新疫情信息
自己做了一个功能,自动去卫健委网站获取最新疫情信息,并通过语音播报,很有意思。需要两个文件 一个是city.cfg,一个是test.py,注意要先安装pip install pyttsx3,看看能否import pyttsx3 如果报错那么去python 的安装目录 比如 cd python/Lib/site-packages/win32ctypes 然后试着import pywin32_system32 或者import win32ctypes一般都能成,除非你的电脑没有文字转语音功能。
2021-08-08 17:37:34 750
原创 Python—完美计算个税和税后收入(求职重要参考神器)
自从个税改革后,个税计算变得非常繁琐,也没有发现很好的网页,于是自己写了一个,感觉还不错,充分考虑了每个月的个税,税后收入,以及公积金和医保入账情况。#第n月的税后收入,公积金收入,医保收入等def total_benf(n,salary,shebao,gongjijin): after_tax=salary-shebao*(0.08+0.02)-gongjijin*0.05-11-gettax(n,salary,shebao,gongjijin) return after_tax,gongji
2021-07-28 09:13:05 1465
原创 Python—获取天气预报信息并自动语音读出
#coding:UTF=8import pywin32_system32import pyttsx3engine = pyttsx3.init()print('准备开始语音播报...')# 设置发音速率,默认值为200rate = engine.getProperty('rate')engine.setProperty('rate', rate - 50)# 设置发音大小,范围为0.0-1.0volume = engine.getProperty('volume')engine.setP
2021-07-27 00:38:24 235
原创 Python—使用tkinter制作python模块解析工具
接触一个python模块,比如pandas,如何了解呢?可以dir(pandas),然后一大串方法,然后你一个个help慢慢学习,但这样显然太辛苦,效率太差了。咱这里写了一个脚本,可以直接页面方式学习python的新模块#注意 需要安装 pip install quicktranslate 提供翻译功能#-*- coding:utf-8 -*-import requests,time,datetimeimport tkinter as tk #使用Tkinter前需要先导入f
2021-07-26 23:10:31 245
原创 Python—爬取百度贴吧美图范例
使用BeautifulSoup分析网页数据,获取贴吧10页的美图#-*-coding:utf-8-*-import re,os,randomfrom urllib import requestfrom lxml import etreefrom bs4 import BeautifulSoup as btfimport chardetfrom time import sleepdef fun(a,b,c): #a下载次数 b单位下载的大小 c图片大小 显示下载进度
2021-05-26 20:45:18 115
原创 Python—爬取小说范例
这里使用bs4的beautifulSoup,请求链接的使用使用try 以防止网络不稳定#-*-coding:utf-8-*-from urllib import requestfrom time import sleepfrom bs4 import BeautifulSoup as btfimport osheader={ "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/4
2021-05-26 19:49:31 189
原创 Python—获取世界各国接种疫苗类型的信息
发现一个不错的网站,https://ourworldindata.org/covid-vaccinations, 可以获取世界各国接种疫苗的最新信息,最后面有一个表格,记录哪个国家接种哪些疫苗,感觉挺不错的,于是发挥了python功底,获取这个表格的内容,写入mysql,代码如下:from html.parser import HTMLParserimport requestsimport pandas as pdfrom sqlalchemy import create_engineclass
2021-05-05 22:57:12 1274
原创 使用vue.js完成一个简单的计时器功能
<!DOCTYPE html><html lang="en"><head> <title>抬腿计数器</title> <script src="/static/vue/vue.js"></script> <script src="/static/vue/index.js"></script> <script src="/static/vue/vue-resource.min.
2021-04-20 09:56:11 828
原创 Python—如何读取配置文件(configparser)
python3读取配置文件,主要用的就算configparser模块,网上资料很乱,我这里整理一下,分享给大家。比如我们这么一个配置文件,叫config.ini,内容如下[account]username=zhangsanpassword=123456[price]CCNA=1000CCNP=3000RHCE=4000RHCA=10000#默认配置区[DEFAULT]language=python我们是这么读取的,这里cfg类似两层字典,第一层叫sections,也就是 acc
2021-04-10 22:37:41 667
原创 Python—用requests.get下载文件
def downloadfile(url,path=None): if(not path):5 path=os.path.basename(url) leng=1 while(leng==1): torrent=requests.get(url,headers=headers) leng=len(list(torrent.iter_content(1024))) #下载区块数 if(leng==1): print(path,'下载失败,重新下载')
2021-04-07 22:54:22 2780
原创 windows—cmd实现定时自动打开和关闭网页
:starteoa_new.exeset hour=%time:~0,2%if %hour% LSS 11 (echo hour is %hour%set /a ss=%random%%%3600+4800) else if %hour% LSS 20 (echo hour is %hour%set /a ss=%random%%%600+600) else (set /a ss=%random%%%600+1800)timeout /T %ss%goto startpause
2021-03-31 08:20:50 3948
原创 Python—selenium实现自动打开360浏览器并自动登录社保网站
使用selenium打开360浏览器需要一点技巧,因为360浏览器其实是Chrome的内核,所以需要先查清楚对于的内核版本,打开帮助-关于360浏览器,如下查到内核版本为78.0…,于是到这个网站下载对应的驱动https://chromedriver.storage.googleapis.com/index.html?path=下载到chromedriver.exe,放到代码所在目录,然后代码如下:from selenium import webdriverfrom selenium.webd
2021-03-25 11:12:54 2363 1
原创 Python—使用tkinter轻松学习python模块!
Python以其极其丰富的模块著称,如何学习这些模块呢,首先要认识模块下有哪些变量(主要是类)和方法,然后这些类变量下面又有哪些变量和方法。总之就是类套类连环套,这个工具就是方便分析这么一个套套。这是代码:(要pip install quicktranslate 以实现翻译功能)#-*- coding:utf-8 -*-import requests,time,datetimeimport tkinter as tk #使用Tkinter前需要先导入from tkinter
2021-02-22 23:59:52 228
原创 Python—获取特定的时间和日期
使用Python获取时间和日期的方法,网上资料已经非常丰富了,这里我分享一下获取一些特定日期的心得import datetimeimport calendardaydelta=datetime.timedelta(days=1) #一日的日期改变now=datetime.datetime.now() #现在的时刻this_week_start=now-daydelta*now.weekday() #本周第一日this_week_end=now
2021-02-09 16:26:38 1899 1
原创 Python—读取Excel的两列快速生成字典
比如我们有这么一个Excel 是国家的英文名到中文名的映射,我们想快速生成这样的字典,怎么办呢第一步,用pandas读取Excel 获取 dataframe 就是 df第二步,建立两列的映射,使用zip第三步,生成字典代码如下import pandas as pd df=pd.read_excel('国家信息表.xlsx')countrymap=dict(zip(df['国家英文'],df['国家中文']))效果如下...
2021-01-06 11:25:43 9060 2
原创 Python—利用tkinte获取HMTL颜色码
尤其是做前端的朋友,经常要测试各种HTML颜色码,获取想要的颜色,可是上网百度很麻烦,还需要照着敲打。我利用tkinter做了一款自动获取颜色码的工具,非常便利。代码如下:#获取HTML颜色吗from tkinter import ttk,colorchooserimport tkinter as tk window=tk.Tk()path=tk.StringVar()def gettingcolor(): color=colorchooser.askcolor()[1] path.
2020-12-30 17:28:04 214
原创 Python—使用Pandas获取月头月尾日期列表
最近收到了一个奇怪的需求,要获取每个月的月头月尾的日期列表。如果一个个写,实在繁琐,于是想到了用Pandas获取,代码如下#取得月头4天pd.date_range(start='2020-08-01',periods=4).strftime('%Y-%m-%d').tolist()##取得月尾4天pd.date_range(end='2020-08-01',periods=5,closed='left').strftime('%Y-%m-%d').tolist()结果如下pd.date_ra
2020-12-29 10:36:26 1726
原创 Python—使用pandas进行筛选操作的一个大坑
经常用pandas读取excel,进行筛选操作,最近竟然遇到了一个坑,真是给自己挖的坑,分享给大家。比如读取这么一个excel要按照运维筛选。我代码这么写的df=pd.read_excel(filename)df.rename(columns={"ops":"运维"})df=df.loc[df.运维=='张三']然后就立刻报错了:这里报错就是 cannot index with multidimensional key如果 用 df.运维.str.contains(‘张三’) 还会出现另
2020-11-20 17:28:40 3951
原创 Python—从IMF网站获取经济数据并通过tkinter展示
IMF的官方网站可以查到世界大部分国家的经济数据,比如增长率,GDP,人均GDP,人口等等。我用tkinter实现了从IMF获取数据,并实现页面展示,非常便利。这大概是经济爱好者的强迫症吧。首先从这里获取Excel: https://www.imf.org/external/datamapper/datasets/WEO然后对Excel进行一点加工,如图然后运行python程序:#-*- coding:utf-8 -*-import requests,time,datetimeimport
2020-10-28 17:07:43 1224
原创 Python—tkinter实现勾选框以及全选和反选
经过长期探索,自己终于探索出了一套完善可行的tkinter的勾选框方案,分享给大家。单个勾选框容易,关键是如何根据一个列表,设置一组勾选框,能够四个一组换行,能够全选和反选,能够获取到选择的值。import tkinter as tk from tkinter import ttk,messagebox,filedialog#点击勾选框触发def getselect(item): print(item,'selected')#反选def unselectall(): for index,
2020-09-23 11:22:47 8191 2
原创 PHP—万能获取HTML表格内容并写入数据库(终极杀器)
使用PHP读取网页,网页里面有表格,如何获取表格内容呢?比如这个网页:里面有很一个很大的表格,读取方式如下:<?php$url="https://www.immd.gov.hk/hks/stat_20200916.html";$info = https_get($url,10); #10秒超时$res = getTableData($info); #解析请求的返回结果echo '<pre>';print_r($res);//发起https的get请求function
2020-09-17 22:21:48 2199 2
原创 Python—使用Openpyxl保存文件的坑(got invalid input value of type)
突然发现使用openpyxl打开文件,然后保存的时候,会遇到一种奇怪的报错。如图具体报错就是:TypeError: got invalid input value of type <class ‘xml.etree.ElementTree.Element’>, expected string or Element经过排查,发现这种报错属于openpyxl 3.0.2版本的一个bug,其他版本则没有发现这个情况,如果大家遇到这个报错,把openpyxl 升级到最新版本就可以啦。命令是 pip
2020-09-11 09:44:22 2881
原创 Python—从IMF网站获取汇率数据并通过tkinter展示
打开这个链接可以获取汇率数据 IMF汇率查询选择如图然后全选继续点击导出为xml然后第一步,从xml获取汇率数据写入mysql#coding:utf-8import pandas as pdimport xml.etree.ElementTree as ETimport numpy as npurl='Exchange_Rate_Report.xml'with open(url,'r') as f: res=f.read()root = ET.fromstring(
2020-09-10 16:37:34 1047
原创 Python—获取全球疫情数据并通过tkinter展示
worldometer是一个全球网站,在这里可以查看全球新冠肺炎最新疫情。于是我写了一个Python程序,可以从这个网站获取指定国家的疫情数据并写入数据库。数据源就是这些图表数据代码如下。import requestsimport pandas as pdimport timefrom sqlalchemy import create_engine#请求头headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) App
2020-09-06 18:40:48 1018 3
原创 Python—使用Openpyxl的dataframe_to_rows的一个小坑
这个坑说大不大,说小遇到了也头疼。一般我们把dataframe直接写到Excel文件,直接 df.to_excel即可。不过如果想把多个表格写入同一个工作表呢,那就需要用openpyxl的dataframe_to_rows功能。看下面一段代码。import pandas as pdfrom openpyxl import Workbookfrom openpyxl.utils.dataframe import dataframe_to_rowsdf1=pd.DataFrame([[1,4],[2,5
2020-09-03 09:48:50 8357 1
原创 Python—使用tkinter制作一个小时钟
网上搬运的,自己又调试了一下,分享一下# coding:utf-8from tkinter import *import math,timedef points(): for i in range(1,13): x = 200 + 130*math.sin(2*math.pi*i/12) y = 200 - 130*math.cos(2*math.pi*i/12) canvas.create_text(x,y,text=i)def createline(radius,
2020-09-02 14:58:35 1574
原创 Python—使用openpyxl打开Excel的一个小坑
最近打开了一个看似普通的Excel,里面的标题行有内置换行。但是用pandas打开发现这个标题行里面是带着\r的,但是用openpyxl打开,发现这个标题行里面带的就不是\r,而是被转换成了_x000D_所以,用openpyxl打开Excel的时候要注意,需要把_x000D_转换成\r ,否则和pandas打开的就不一样了。代码如下from openpyxl import load_workbookfilename='test.xlsx'wb=load_workbook(filename)ws=
2020-09-01 15:45:12 7185
原创 Python—一键实现Excel自动分组合并单元格
大家好,我们经常会有这样的需求。比如下图我们需要把同一个省份的合并起来,如下图的效果如何实现呢,这是原有的df
2020-08-31 14:27:26 2764
轻量级文本文件比对小工具
2020-07-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人