- 博客(190)
- 收藏
- 关注
原创 python_xpath
xpath(xml path language) 是一种用于在xml文档中定位和选择元素的语言.可以使用lxml 库来执行xpath的查询.
2023-12-05 19:15:10 427
原创 python-bs4
bs4是用于从HTML和XML 文件中获取数据的python库,它能够通过自己喜欢的转换器实现惯用的文档导航,查找,修改文档,本章中主要简述和lxml结合实现标签定位和标签的提取,bs4全称BeautifulSoup.
2023-12-05 17:53:26 118
原创 nginx 限速之limit_conn
在工作中经常会遇到用户大量请求某个接口和一些大流量的恶意攻击,可以通过nginx对同一个ip的连接数,请求,进行限制.通过nginx我们有三种限速方式分别是: 限制请求数(request),限制连接数(connection),限制响应速度(rate),分别对应nginx的limit_req,limit_conn和limit_rate三个模块,limit_conn和limit_req模块类似,有许多指令组成一个大的模块,两个模块之间很多指令的命名方式和用法大同小异.
2023-08-17 16:58:33 1771
原创 gitlab 版本升级
简介:gitlab现用版本为12.10.14由于版本漏洞,需升级为14 版本的gitlab,操作流程如下,通过docker-composer 启动gitlab,实现http,https,ssh访问和拉取代码.由于gitlab不可以直接升级到最新版本,故需要按gitlab官方升级流程进行升级(不可回退版本,回退版本会造成状态码:500报错)12.10.14--->13.0.14--->13.1.11--->13.8.8--->13.12.15--->14.0.12 操作步骤如
2022-04-09 15:52:18 5875
转载 Linux 之tmux
1. 简介 tmux是一个终端复用器(terminal multiplexer),当tmux在工作中,即时关掉Secure CRT的连接窗口,再次连接,进入tmux的会话我们仍可以继续工作。1.1 会话与进程 命令行的典型使用方法是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时交互,称为一次"会话"(session)。 会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结...
2022-04-09 15:42:06 5484
原创 zabbix 清理历史数据
1.说明zabbix运行一定时间后,会留下大量历史数据,发现zabbix的数据库会一直在增大,运行1年6个月后数据库ibdata1的数据为432G,造成性能下降,查看历史数据时查询速度变慢。zabbix数据库里面最大的便是历史记录表,由于数据过大选择清空表,也可选择根据时间删除里面的历史记录(zabbix里面的数据使用时间戳的方式记录)。2 历史数据清理2.1 停止相关服务,避免数据写入 systemctl status mariadb.service systemctl
2022-03-21 11:39:40 5338
原创 docker 网络模式
1. bridge--net=bridge默认网络,docker创建后创建一个docker0网桥,默认创建的容器也是添加到网桥中.也可以是自定义网络,相比默认的具备内部DNS发现,可以通过容器名容器之间网络通信.1.1 查看网卡docker network ls 1.2 创建自定义网卡docker network create test1.3 查看自定义网卡详细信息docker network inspect test1.4 自定义网卡间通过容器名互相通信
2021-08-25 17:58:34 176
原创 python 生成式 & 生成器
1. 生成式列表a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求你把列表里的每个值加1
2021-05-28 14:56:16 64478
原创 elk logstash 详解
elk 安装参见https://blog.csdn.net/wanchaopeng/article/details/116270837logstash使用一个名叫FileWaatch的Ruby Gem库来监听文件变化,这个库支持Glob展开文件路径,而且会记录一个叫.sincedbd 数据库文件来跟踪监听的日志文件的当前读取位置。1. 配置展示input { beats { port => 5044 } file { path => ["/usr/
2021-05-13 15:24:37 2328
原创 elk 分析日志详细部署
环境: centos7elk版本: 7.2.0ELK简介ELK主要由ElasticSearch、Logstash和Kibana三个开源工具组成,还有其他专门由于收集数据的轻量型数据采集器Beats。Elasticsearch :分布式搜索引擎。具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 是用Java 基于 Lucene 开发,现在使用最广的开源搜索引擎之一,Wikipedia 、StackOverflow、Gi.
2021-05-08 14:41:45 613
转载 序列化 pickle & json模块
什么叫序列化?序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes为什么要序列化?你打游戏过程中,打累了,停下来,关掉游戏、想过2天再玩,2天之后,游戏又从你上次停止的地方继续运行,你上次游戏的进度肯定保存在硬盘上了,是以何种形式呢?游戏过程中产生的很多临时数据是不规律的,可能在你关掉游戏时正好有10个列表,3个嵌套字典的数据集合在内存里,需要存下来?你如何存?把列表变成文件里的多行多列形式?那嵌套字典呢?根本没法存。所以,若是
2021-03-24 15:31:53 160
原创 python random模块
随机字符串1. 返回1-10之间的一个随机数,不包括10>>> import random>>> random.randrange(1,10)22.返回1-10之间的一个随机数,包括10>>> random.randint(1,10)93.随机选取0到100间的偶数>>> random.randrange(0,100,2)384.返回一个随机浮点数>>> rando
2021-03-24 15:11:04 112
原创 Linux 网络命令
1. 查看当前系统的连接1.1 netstat使用netstat 结合awk进行统计,统计每一种状态的tcp连接数量[root@jenkins ~]# netstat -antp |awk '{a[$6]++}END{for (x in a) print x,a[x]}'LISTEN 28SYN_RECV 12ESTABLISHED 40established) 1Foreign 1TIME_WAIT 181若服务器过多可使用ss[root@jenkins ~]# ss
2021-03-24 14:39:23 387
原创 python logging模块
1. 介绍 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误、警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为debug(), info(), warning(), error() and critical()5个级别2.简单用法import logginglogging.warning("user [nginx] attempted wrong password...
2021-03-22 18:54:56 758 1
原创 time & datetime 模块
1. 通常有以下方式表示时间1.时间戳2.格式化的时间字符串3.元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。
2021-03-22 17:40:44 219 2
原创 zabbix-agent 部署
一、介绍Zabbix Agent 部署在监视目标上,以主动监视本地资源和应用程序(硬盘,内存,处理器统计信息等)。该 Agent 在本地收集操作信息,并将数据报告给Zabbix服务器以进行进一步处理。Zabbix Agent 非常有效,因为使用了本机系统调用来收集统计信息。二、工作模式Zabbix Agent 可以执行被动和主动检查。1 被动模式在被动检查中,Agent 会响应来自Zabbix Server(或 Proxy)的数据请求。例如CPU负载,然后Zabbix Agent
2021-03-22 16:57:37 1110
原创 python sys模块
1.命令行参数List,第一个元素是程序本身路径>>> import sys>>> sys.argv['']2.退出程序,正常退出时exit(0)>>> sys.exit(2)[root@localhost]# echo $?23. 获取python解释程序的版本信息>>> sys.version'3.6.8 (default, Nov 16 2020, 16:55:22) \n[GCC 4.8.
2021-03-22 16:55:36 180
原创 python os
os 模块提供了很多允许你的程序与操作系统直接交互的功能1. 添加os模块import os1.1 查看当前工作目录>>> os.getcwd() #即当前Python脚本工作的目录路径'/data/ceshi'1.2 返回指定目录下的所有文件和目录名>>> os.listdir()['3.txt', '4.txt', '9.txt', '5.txt', '7.txt', '8.txt', 'ceshi.txt', '6.txt'
2021-01-06 18:48:53 234
转载 redis的持久化和主从复制
什么是redis持久化? redis作为一个键值对内存数据库(nosql),数据存储在内存当中,在处理客户端请求时,所有操作都是在内存当中运行:问题: 存储在内存中的数据,只要服务器关机,内存中的数据就会消失,不仅服务器关机会造成数据消失,redis服务器守护进程退出,内存中的数据也会消失。 对于只把redis当缓存来用的项目来说,数据消失或许问题不大,重新把数据源数据加载进去就可以了,但如果直接把用户提交的业务数据存储到redis中,把redis当数据库来用,在其存储...
2020-11-25 11:31:46 290
转载 Linux 平均负载
理解平均负载简单的说平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是说平均活跃进程数,它和CPU使用率并没有直接关系 可运行状态指正在使用CPU或者正在等待CPU的进程,我们使用ps命令查看处于R状态的进程 不可中断状态进程则是正处于内核态关键流程中的进程,并且这些流程是不可中断的。例如:常见的等待硬件设备I/O的响应,也就是我们在ps命令查看处于D状态的进程 当一个进程向磁盘读写数据时,为了保证数据的一致性,在得到磁盘回复前,它是...
2020-11-13 12:17:04 773
原创 python 的嵌套&匿名&高阶函数&闭包
1.嵌套函数name = "nis"def change(): name = "nis,learn python" def change2(): # global name name = "nis,cool" print("打印第二层",name) change2() print("第二层打印",name)change()print("最外层",name)输出打印第二层 nis,cool第二层打印 nis
2020-11-11 18:50:00 316
原创 函数返回值和作用域
函数外部的代码要想获取函数的执行结果,就可以在函数里用return语句把结果返回>>> def stu_register(name, age, course='PY' ,country='CN'):... print("----注册学生信息------")... print("姓名:", name)... print("age:", age)... print("国籍:", country)... print("课程:", cours
2020-11-11 18:19:25 313
原创 python_函数
定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可特性:减少重复代码使程序变的可扩展使程序变得易维护语法定义def sayhi():#函数名 print("Hello, I'm nobody!")sayhi() #调用函数带参数>>> m,n = 11,22>>> c = m**n>>> print(c)814027493868397611133.
2020-11-09 12:14:23 256 1
原创 python_copy
浅copydata = { "name":"chaoyang", "age":"28", "scores":{ "语文":130, "数学":60, "英语":98, }}d = datadata["age"] = 20print(d){'name': 'chaoyang', 'age': 20, 'scores': {'语文': 130, '数学': 60, '英语': 98}}为何是20呢,因为d=
2020-11-09 11:33:27 335
原创 bytes类型
定义bytes类型是指一堆字节的集合,在python中以b开头的字符串都是bytes类型b'\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88' #b开头的都代表是bytes类型,是以16进制来显示的,2个16进制代表一个字节。 utf-8是3个字节代表一个中文,所以以上正好是9个字节Bytes类型的作用计算机只能存储2进制, 我们的字符、图片、视频、音乐等想存到硬盘上,也必须以正确的方式编码成2进制后再存。对于文字,我们可以以gbk编码,也可以以utf-8、A
2020-11-09 10:38:34 7268
原创 python 控制文件
python操作文件f = open(filename) #打开文件f.write("debi") # 写操作f.read() #读操作f.close() #保存并关闭 python只能以读、创建、追加 3种模式中的任意一种打开文件,不能即写又读。操作模式r 只读模式w 创建模式,若文件已存在,则覆盖旧文件a 追加模式,新数据会写到文件末尾创建文件>>> f = open(file="/tmp/1.txt",mode="w")>&..
2020-10-28 17:21:57 413
原创 python 集合
定义几个类似于列表,也是可以存一堆数据1.里面的元素不可变,代表你不能存一个list、dict 在集合里,字符串、数字、元组等不可变类型可以存2.天生去重,在集合里没办法存重复的元素3.无序,不像列表一样通过索引来标记在列表中的位置 ,元素是无序的,集合中的元素没有先后之分,如集合{3,4,5}和{3,5,4}算作同一个集合主要用作去重,关系运算语法创建集合>>> a = {1,2,3,4,2,'alex',3,'rain','alex'}>&g
2020-10-27 15:24:16 323
原创 python 字符串
字符串字符串时一个有序的字符集合,用于存储和表示基本的文字信息,’ ‘或’’ ‘’或’’’ ‘’’中间包含的内容称之为字符串>>> s = 'Hello,Eva!How are you?'特性:1.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序3.可以进行切片操作4.不可变,字符串是不可变的,不能像列表一样修改其中某个元素,所有对字符串的修改操作其实都是相当于生成了一份新数据。5.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所
2020-10-26 17:13:35 3703 2
原创 python 字典
>>> dict(name="nis",age="19"){'name': 'nis', 'age': '19'}>>> d = dict(name="nis",age="19")>>> d{'name': 'nis', 'age': '19'}>>> keys = [1,2,3,5]>>> {},frofrom frozenset( >>> {},frofr.
2020-10-26 15:03:46 274 1
原创 python 列表 & 元组
1.列表1.1列表特点1. 可存放多个值2.按照从左到右的顺序定义列表元素,从0开始顺序访问,有序3.可修改指定索引位置对应的值,可变1.2列表的增加>>> names['nis', 'chaopeng']>>> names.append("rain")>>> names.append("eva")>>> names['nis', 'chaopeng', 'rain', 'eva']1.3列表
2020-10-24 22:55:14 125927
原创 python 循环
1. for 循环1.1 语法for i in range (10): print(i)for i in range (5,18): print(i)list+range>>> range(10)range(0, 10)>>> list(range(10))[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]for循环打印猜年龄girl_age = 26for i in range (3): g
2020-10-20 00:20:48 378 2
原创 python 初探
1,安装文本编辑器geanyyum install geany2.打印hello worldmessage = "Hello Python world!"print(message)message = "Hello Python Crash Course World!"print(message)
2020-10-14 23:02:53 3130
原创 Linux 下git pull 免密拉取代码
1. 先git clone 下来然后执行git config --global credential.helper store再次git pull 需要输入用户密码但是以后pull不需要输入代码2. 设置账号和邮箱git config --global user.email '邮箱'git config --global user.name '账号'...
2020-09-17 17:44:17 1453
原创 docker 安装emqx
1. 下载镜像docker pull emqx/emqx2. 后台运行镜像docker run -dit --name emqx -p 18083:18083 -p 1883:1883 -p 8083:8083 -p 8084:8084 emqx/emqx:latest3. 进入emqx的docker 命令docker exec -it emqx /bin/sh4.访问emqt的web管理页面http://ip:18083#账号: admin#密码: public
2020-09-17 10:34:13 1980
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人