- 博客(83)
- 收藏
- 关注
原创 Python--异步编程
同步和异步同步:调用一个函数,返回结果是自己去获取的,不管是阻塞还是非阻塞异步:调用一个函数,返回结果是别人通过通知、回调等方式给你的在IO操作的过程中,当前线程被挂起,而其他需要CPU执行的代码就无法被当前线程执行了。多线程和多进程虽然解决了并发问题,但是系统不能无上限的增加线程,由于系统切换线程的开销也很大,所以,一旦线程数量过多,CPU的时间就花在线程切换上了,会导致性能下降。为...
2019-07-31 11:52:39
368
原创 Python--多线程和多进程
python中最重要的并发模型:多线程多进程异步编程并行是并发概念的一个子集,你可以编写有多个线程或进程的并发程序,但是如果不是在多核处理器上执行这个程序,那么就不能以并行的方式来运行代码。多线程什么是多线程程序员可以将他或她的工作分拆到线程中,这些线程同时运行并共享同一内存上下文。线程之间共享同样的上下文,这意味着你必须保护数据,避免并发访问这些数据。如果两个线程更新相同的没有...
2019-07-31 11:49:12
323
原创 Python处理json键重复问题
Python字典的键是不允许重复的,json字典的键可以重复,如果要用Python构建一个键重复的json字符串该怎么处理好呢我只想到了两个较简单的方法来达到这个目的方法一把有重复键值的部分先用一个特殊字符串标记,然后构造出有键重复的json字符串,然后替换进去import jsonjson_data = {"params": "XXX"}params_str = '{"key": "...
2019-05-02 08:13:10
3279
原创 Zabbix--常用API
详细的API说明请查阅官网API文档获取版本信息curl http://192.168.100.101/zabbix/api_jsonrpc.php -H 'Content-Type:application/json-rpc' -d '{ "jsonrpc": "2.0", "method": "apiinfo.version", "params": [], "...
2019-04-27 16:42:45
753
原创 shell--常用命令
用户相关踢除登录用户pkill -kill -t pts/1杀掉某个用户所有进程如杀掉test用户所有进程pkill -kill -u test修改用户密码方式一:echo "password" | passwd testuser --stdin >/dev/null方式二:echo testuser:password | chpasswd系统设置释放缓存s...
2019-04-21 20:46:21
191
原创 shell--常用代码片段
键值对配置文件修改函数set_value(){ key=$1 value=$2 file=$3 if [ ! -f ${file} ];then echo "Error: The file ${file} is not exist, please check!" return 1 fi grep "^${...
2019-04-21 20:41:52
213
原创 Mongodb--常用命令
数据导入导出导出单个集合mongoexport -d some_db -u xxx -p xxx -c some_collection -o some_collection.js --pretty导入单个集合mongoimport --drop -d some_db -u xxx -p xxx -c some_collection some_collection.js全库备份mon...
2019-04-21 20:38:35
183
原创 Elastic常用命令
常用命令查看版本信息curl -XGET http://localhost:9200/?pretty查看集群状态curl -XGET http://localhost:9200/_cat/health?vepoch timestamp cluster status node.total node.data shards pri relo init una...
2019-04-21 20:35:25
514
原创 Zabbix--监控新主机
服务端开放端口firewall-cmd --permanent --add-port=10051/tcpfirewall-cmd --reload客户端安装安装agent1)使用rpm安装zabbix-agentrpm -Uvh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.15-1.el7.x86_...
2019-04-21 20:30:34
214
原创 SNMP--常用命令介绍
snmptrapsnmptrap和snmpinfo一样,都是发消息给管理者,区别在snmptrap默认使用SNMP TRAP发送消息给管理者,而snmpinform默认使用INFORM-PDU发送消息给管理者,INFORM-PDU需要接收者在收到trap消息时给出应答响应,表明已接收到消息。snmptrap命令使用-Ci参数时,也可以发送INFORM-PDU消息。命令格式snmptrap ...
2019-04-21 20:21:55
24073
1
原创 SNMP--snmp.conf配置文件介绍
snmp.conf简述snmp.conf是Net-SNMP应用的配置文件。系统级配置文件:/etc/snmp/snmp.conf/etc/snmp/snmp.local.conf用户级配置文件:$HOME/.snmp/snmp.conf$HOME/.snmp/snmp.local.conf特定主机配置文件:/etc/snmp/hosts/HOSTNAME.conf$HOME/...
2019-04-21 20:19:45
4369
原创 SNMP--配置文件介绍
目录搜索应用默认从4个路径查找和读取配置文件,顺序是:/etc/snmp、/usr/share/snmp、 /usr/lib/x86_64-linux-gnu/snmp、和 $HOME/.snmp。在每个路径下查找snmp.conf、snmpd.conf、snmptrapd.conf、snmp.local.conf, snmpd.local.conf、snmptrapd.local.conf配置...
2019-04-21 20:18:08
1178
原创 SNMP--安装
简介简单网络管理协议(SNMP,Simple Network Management Protocol),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。安装ubuntu上安装命令如下apt i...
2019-04-21 20:15:47
986
原创 Elasticsearch安装
环境信息:Centos 7.2elasticsearch-6.5.4host111: 192.168.100.111host112: 192.168.100.112提示: 生产环境中ES最少部署三个节点,我是做测试,只部署了两个节点一、安装JDKmkdir -p /usr/javatar zxvf jdk-8u181-linux-x64.tar.gz -C /usr/java/...
2019-01-19 16:09:22
163
原创 使用DNSmasq搭建DNS服务
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的(摘自百度百科)环境:Centos7一、服务端配置1.使用yum安装dnsmasqyum install dnsmasq2.配置/etc/dnsmasq.conf可以配置得很简单,只需要配置监...
2018-10-28 11:36:22
1467
原创 PowerShell写守护进程
工作中,需要守护一个装在Windows上的进程,下面代码中以守护notepad++的进程为例写到此处,是因为PowerShell用的很少,方便自己以后用到时参考一下基本的用法$current_dir = Split-Path -Parent $MyInvocation.MyCommand.Definition;$log_file = "${current_dir}\monitor.log"...
2018-10-20 08:53:46
1278
原创 通过Nginx部署Django
一、安装Nginx参考:https://blog.youkuaiyun.com/weixin_36485376/article/details/83050513二、安装uwsgi[root@fl ~] $ python3 -m pip install uwsgi三、创建uwsgi.ini配置文件假设django项目在/home/project/mysite目录在/home/project/mys...
2018-10-15 22:51:26
307
原创 利用nginx搭建文件服务器
前提:nginx已安装如果还没有安装,可以参考:https://blog.youkuaiyun.com/weixin_36485376/article/details/83050513配置Nginxnginx.conf如下配置server { listen 8090; server_name localhost; charset utf-8...
2018-10-14 20:45:38
189
原创 Nginx安装
环境:Centos7.5一、安装编译环境$ yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel二、安装pcrepcre官方下载网站:https://ftp.pcre.org/pub/pcre/$ cd /usr/local/src$ wget https://ftp.pcre.org/p...
2018-10-14 20:35:10
287
原创 SFTP上传和下载文件脚本
运维工作中,远程上传或下载文件很常用,我分享下我经常使用的sftp脚本#!/bin/bashSCRIPT_NAME=`basename $0`CURRENT_DIR=$(cd "$(dirname "$0")";pwd)execute_sftp_cmd(){ local host_ip=$1 local user_name=$2 local user_pass...
2018-09-24 19:52:48
11285
5
原创 SSH远程登录执行命令脚本
一、简述运维工作中远程登录执行命令的脚本很常用,下面分享一下我常用的脚本二、脚本内容#!/bin/bashSCRIPT_NAME=`basename $0`CURRENT_DIR=$(cd "$(dirname "$0")";pwd)execute_ssh_cmd(){ local host_ip=$1 local user_name=$2 local u...
2018-09-24 13:00:20
10531
原创 SSH端口转发
环境:suse12sp2 + ldap2.4.41使用yast users进入LDAP用户时,报如下错误 A possible reason for the failed connection may be that your client is configured for TLS/SSL but the server does not support it 使用debug模式,看到...
2018-09-23 23:37:09
566
原创 SSH跳转登录
简述:对于运维人员,工作中操作服务器很多情况是需要先登录跳板机,然后再从跳板机SSH登录到服务器,如果服务器较多时,操作起来不仅麻烦,而且终端工具的登录窗口的名字都是跳板机的,不容易区分。有想法的人会去查找是否有办法自动从跳板机登录到服务器,搜索一下,就能很快找到方法,下面介绍一下使用XShell一键登录到服务器。SSH跳转登录1. 新建一个连接1)名称栏输入目标服务器的IP或服务器的名...
2018-09-23 20:48:30
10568
原创 Python3.6新特性(部分)
概览Python3.6.0于2016年12月23日发布,与3.5版本相比,添加了以下新特性,详情请看python3.6发布日志。新的语法特性:格式化字符串字面值数字字符串中支持下划线变量注释的语法异步生成器异步列表推导新的模块添加了一个安全模块secrets到标准库中CPython实现改进字典基于Raymond Hettinger的建议使用更紧凑的...
2018-08-10 09:49:29
1641
原创 linux安装JDK并配置环境变量
前提条件:已获取JDK的rpm安装包安装JDK执行如下命令安装JDK,以8u181版本JDK安装为例:rpm -ivh jdk-8u181-linux-x64.rpm配置环境变量1)在/etc/profile.d目录下创建jdk.sh和jdk.csh两个文件 2)编辑jdk.sh文件,写入如下内容:(JAVA_HOME的路径根据实际情况写)ldapmaster:/et...
2018-08-07 18:47:17
764
转载 RSA算法原理(二)
原文:http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html上一次,我介绍了一些数论知识。 有了这些知识,我们就可以看懂RSA算法,这是目前地球上最重要的加密算法。六、密钥生成的步骤我们通过一个例子,来理解RSA算法。 假设爱丽丝要与鲍勃进行加密通信,她该怎么生成公钥和私钥呢? 第一步,随机选择两个...
2018-08-03 14:03:46
188
转载 RSA算法原理(一)
原文:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html如果你问我,哪一种算法最重要? 我可能会回答”公钥加密算法”。因为它是计算机通信安全的基石,保证了加密数据不会被破解,可以想象一下,信用卡交易被破解的后果。 进入正题之前,我先简单介绍一下,什么是”公钥加密算法”。一、一点历史 1976年以...
2018-08-03 11:14:19
259
转载 理解矩阵乘法
原文:http://www.ruanyifeng.com/blog/2015/09/matrix-multiplication.html大多数人在高中,或者大学低年级,都上过一门课《线性代数》。这门课其实是教矩阵。 刚学的时候,还蛮简单的,矩阵加法就是相同位置的数字加一下。 矩阵减法也类似。 矩阵乘以一个常数,就是所有位置都乘以这个数。 但是,等到矩阵乘以矩阵的时候,一切就不一...
2018-08-02 16:38:23
506
转载 数学常数e的含义
原文:http://www.ruanyifeng.com/blog/2011/07/mathematical_constant_e.htmle是一个重要的常数,但是它的直观含义却不像π那么明了。 我们都知道,圆的周长与直径之比是一个常数,这个常数被称为圆周率, 记作π=3.14159… 可是如果我问你,e代表了什么,你能回答吗?不妨先来看看 维基百科 是怎么说的: “e是自然对数的...
2018-08-02 14:37:03
2371
转载 虚数的意义
原文:http://www.ruanyifeng.com/blog/2012/09/imaginary_number.html一、什么是虚数首先,假设有一根数轴,上面有两个反向的点:+1和-1。 这根数轴的正向部分,可以绕原点旋转。显然,逆时针旋转180度,+1就会变成-1。 这相当于两次逆时针旋转90度 因此,我们可以得到下面的关系式:(+1) * (逆时针旋转90...
2018-08-02 10:54:00
1449
转载 如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】
原文:https://zhuanlan.zhihu.com/p/19763358 ...
2018-08-02 10:29:37
234
转载 Linux--shell中获取字符串长度的常用方法
求字符串长度的操作在shell脚本中很常用,下面归纳、汇总了求字符串的几种常用方法:【方法一】:利用{#str}来获取字符串长度root@ubuntu:/home/fl# str="ABCDEF"root@ubuntu:/home/fl# echo ${#str}6【方法二】:利用awk的length方法root@ubuntu:/home/fl# str="ABCDEF"...
2018-08-02 09:02:02
12153
原创 Linux--使用tr命令对字符串做处理
tr命令可以对来自标准输入的字符进行转换,压缩和删除处理,很强大tr命令帮助信息的部分内容如下:root@ubuntu:/home/fl# tr --helpUsage: tr [OPTION]... SET1 [SET2]Translate, squeeze, and/or delete characters from standard input,writing to sta...
2018-08-01 23:28:44
1376
原创 Linux--使用tcpdump抓包
Ubuntu16系统里面的tcpdump帮助信息的输出如下:root@ubuntu:/home/fl# tcpdump --helptcpdump version 4.9.2libpcap version 1.7.4OpenSSL 1.0.2g 1 Mar 2016Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ ...
2018-08-01 22:40:27
194
原创 Python--标准测试工具unittst
unittest是最常见的Python单元测试框架,它提供了一个名为TestCase的基类,它有一组非常广泛的方法来验证函数调用和语句的输出。 该模块是为了编写单元测试而创建的,但是只要测试使用用户接口,验收测试也可以用它来编写。看一个为primes.py模块编写的简单测试用例import unittestfrom primes import is_primesclass ...
2018-07-15 22:27:48
302
原创 Python--PEP8编码风格
1.变量Python中有两种变量常量公有和私有变量1.1 常量对于全局常量变量,使用大写加下划线,它告诉开发人员,指定的变量表示一个常数值。好的做法是将所有常量集中放在包中的一个文件内。1.2 共有和私有变量对于可以通过导入自由访问的全局变量,如果它们需要被保护,那么应该使用带一个下划线的小写字母来命名,这种方式不经常使用,因为如果它们需要被保护,模块通常会提供get...
2018-07-15 17:04:56
201
转载 Python--读写Oracle
最近项目中需要用到Python调用Oracle实现读写操作,踩过很多坑,历尽艰辛终于实现了。性能怎样先不说,有方法后面再调优嘛。现在把代码和注意点记录一下。1.所需Python工具库cx_Oracle,pandas,可以使用通过控制台使用pip进行安装2. 实现查询操作import pandas as pdimport cx_Oracleimport os # 注:设...
2018-07-15 07:55:35
5303
原创 ubuntu安装软件报错 Unable to locate package *解决办法
有时使用apt-get安装软件不成功,提示信息如下:root@ubuntu18:~# apt-get install openbsd-inetdReading package lists... DoneBuilding dependency treeReading state information... DoneE: Unable to locate package openbs...
2018-06-17 09:28:14
7308
1
原创 Git--搭建git服务器
环境:ubuntu16.4一.后台服务搭建1.以root用户登陆Linux后台,执行下面的命令安装git$ apt install git2.创建git用户$ adduser git3.创建仓库目录$ su - git$ mkdir -p repository/myself.git4.初始化仓库$ cd ~/repositorygit@ubuntu:...
2018-06-09 22:47:57
144
原创 Python--下面代码输出什么?
def f(x, lst=[]): for i in range(x): lst.append(i*i) print(lst)if __name__ == '__main__': f(2) f(3,[3,2,1]) f(3)# 执行上面的代码将输出:[0, 1][3, 2, 1, 0, 1, 4][0, 1, 0, 1, 4]...
2018-06-04 07:37:28
1926
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人