- 博客(71)
- 收藏
- 关注
原创 迭代器&生成器
1.解析式1.1 列表解析式 列表解析式使用中括号[],内部是for循环,if条件可以省略,它返回一个新的列表。 列表解析式是一种语法糖,编译器会优化,不会因为简写而影响效率,反而因优化提高了效率;减少程序员工作量,减少出错;简化了代码,但可读性强;不仅减少了字节码,而且减少了栈帧。 语法:[返回值 for 元素 in 可迭代对象 if 条件]>>> [x ...
2020-04-14 23:44:23
289
原创 Python3装饰器详解
装饰器 装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能。装饰器的返回值也是一个函数对象,它经常用于有切面需求的场景,比如:插入日志、性能测试、事物处理、缓存、权限校验等应用场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量于函数功能本身无关的雷同代码继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。...
2020-04-14 23:18:33
434
1
原创 EVE桥接eNSP
1.电脑本地创建环回口 输入windows+r打开运行框,输入hdwwiz手动添加一个本地换回口的网卡。2.对新添加的环回口作一定的修改 此时,输入windows+r键,输入ncpa.cpl打开网络连接,会发现多个一块环回网卡,这个就是刚才添加的网卡。 将环回口重命名为Loopback,然后给其接...
2020-04-07 16:25:38
1920
原创 expect实现无交互登录
1.expect实现无交互登录 expect是一个用来实现自动交互功能的软件套件。如果你想写一个能自动处理输入输出的脚本(如向用户提问并且验证密码),又不想面对C或者Perl,那么expect是你最好的选择。它可以用来做一些Linux下无法做到交互的一些命令操作。1.1 expect软件的安装[root@CentOS7 ~]# yum -y install expect1.2 使用e...
2020-03-12 15:49:54
504
原创 Shell数组和函数
1.数组1.1 普通数组只能使用整数作为数组索引(元素的下标)。1.1.1 普通数组定义一次赋予一个值[root@centos7 ~]# array[0]=0[root@centos7 ~]# array[1]=1[root@centos7 ~]# array[2]=2查看普通数组一次赋予多个值 数组用括号来表示,元素用"空格"符号分割开。[root@centos7 ...
2020-03-12 15:47:19
163
原创 Shell正则
1.Shell正则表达式 Linux中常用的有两种正则表达式引擎:基础正则表达式BRE、扩展正则表达式ERE。 正则表达式也译为正规表示法、常规表示法,是一种字符模式,用于再查找过程中匹配指定的字符。 支持正则表达式的程序:locate | find | vim | grep | sed | awk1.1 基础正则表达式字符描述.匹配除换行符\n之外的任何...
2020-03-12 15:40:12
205
原创 Shell流程控制语句(if/for/while/until/case)
5.if语句5.1 单分支结构 (条件表达式)部分可以是test、[]、[ [ ] ]、( ( ) )等条件表达式,甚至可以直接使用命令作为条件表达式。每个if条件语句都有if开头,并带有then,最后以fi结尾。相当于**[ 条件表达式 ] && 指令**if (条件表达式) then 指令fi或if (条件表达式); then ...
2020-03-12 14:38:35
216
原创 Shell条件判断
4.条件判断 执行条件测试表达式后通常会返回“真”或“假”,就像执行命令后的返回值为0表示真,非0表示假一样,可以用$?内置变量。4.1 条件测试表达式语法结构语法结构说明语法1:test 条件表达式test与条件表达式之间有空格语法2:[ 条件表达式 ]中括号内部的两端要有空格语法3:[[ 条件表达式 ]]双中括号里的两端也要有空格语法4:(...
2020-03-12 14:08:30
168
原创 Shell概述、变量及运算符
1.Shell概述1.1 Shell简介Shell是一个命令解释器,它的作用是解释执行用户输入的命令及程序等,用户每输入一条命令,Shell就解释执行一条。这种从键盘一输入命令,就可以立即得到回应的对话方式,称为交互的方式。Shell存在于操作系统的最外层,负责与用户直接对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,然后输出到屏幕返回给用户。简单来说Shell就是一...
2020-03-12 13:30:27
329
原创 文本过滤之grep
grep工具文本行过滤工具,根据用户指定的模式对目标文件逐行进行匹配检查;打印匹配到的行模式:由正则表达式字符及文本字符所编写的过滤条件用法:grep [OPTION] PATTERN [FILE] OPTION 说明 --color=auto 对匹配到的文本着色显示(CentOS7默认显示颜色) ...
2019-09-24 17:38:08
320
原创 Nginx实现负载均衡
负载均衡实现方式轮询算法每个请求轮流分配到不同的后端服务器,如果后端服务器宕机,将自动剔除。权重算法通过将不同的后端服务器设置不同的权重以便实现请求的按比例分配,当后端服务器故障时可以自动剔除该服务器。IP哈希算法此算法根据用户的客户端IP将请求分配给后端的服务器,由于源IP相同的客户端经过IP哈希算法后的值相同,因此同一客户端的请求可以分配到后端的同一台服务器上。I...
2019-09-12 22:15:42
207
原创 Nginx虚拟主机配置
1. 基于IP的虚拟主机配置1.1 创建虚拟主机配置文件1.2 将虚拟主机配置文件包含进主配置文件2.3 先测试配置文件然后重新加载Nginx2.4 创建虚拟主机目录并创建测试文件index.html2.5 测试文件2. 基于域名的虚拟主机配置2.1 创建虚拟主机配置文件2.2 重启nginx2.3 配置hosts文件2.4 创建虚拟主机目录并创建测试文件i...
2019-09-12 17:00:03
142
原创 Nginx入门
1. Nginx介绍2. Nginx环境搭建2.1 安装所需环境2.2 安装Nginx2.3 测试3. Nginx常用命令4. Nginx信号控制5. Nginx配置文件详解1. Nginx介绍Nginx是一款轻量级的高性能的Web服务器和反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。 反向代理是指以代理服务器来接收Internet上的链接请求,...
2019-09-12 16:47:05
236
原创 redis 集群主从复制
1. redis主从复制(master/slave)通过持久化功能,redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,但是由于数据是存储在一台服务器上的,如果这台服务器出现故障,比如硬盘损坏,也会导致数据丢失。为了避免单点故障,需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障,其他服务器依然可以继续提供服务。redis提供了复制(replicat...
2019-09-06 22:20:07
235
原创 reids发布订阅、事务和持久化
目录1. redis发布订阅(pub/sub)1.1 发布订阅命令1.2 发布订阅实例2.redis 事务2.1 事务与redis事务2.2 事务命令3. redis对事务控制的实现3.1 正常情况3.2 异常情况(回滚)3.3 例外情况(部分支持事务)3.4 放弃情况3.5 复杂情况1. 悲观锁2. 乐观锁3. watch机制实现乐观...
2019-09-06 21:45:30
264
原创 redis 五种数据类型
redis支持五种数据类型:string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合sorted set)。1.string(字符串)字符串类型是redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据、序列化后的数据、JSON化的对象甚至是一张图片。 string命令 说明 set ...
2019-09-06 21:24:47
139
原创 redis入门与安装
1. redis简介1.1 redis特点2. redis安装2.1 redis下载安装2.2 redis启动与关闭3. redis客户端3.1 redis命令行客户端3.2 redis远程客户端3.3 redis编程客户端4. redis入门4.1 redis常用命令5. redis安全5.1 设置密码5.2 绑定IP5.3 命令禁止或重...
2019-09-06 00:18:00
377
原创 Docker数据管理
1. Docker数据卷Docker中的容器一旦删除,容器本身对应的rootfs文件系统就会被删除,容器中的所有数据也将随之删除。为此,Docker提供了数据卷(data volume),数据卷除了可以持久化数据,还可以用于容器间共享数据。 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过联合文件系统,被设计用来保存数据,而不管容器的生命周期。 数据卷可以在容器之间共享和重用。 当你...
2019-09-05 16:44:40
199
原创 Docker网络通信
1. Docker网络模式Docker在创建容器时有四种网络模式,bridge为默认不需要用--net=bridge去指定,其他三种模式需要在创建容器时使用--net去指定。Docker安装后,会自动创建三个网络,分别为bridge、host、none。可以使用以下命令查看:ycy@ubuntu18:~$ docker network lsNETWORK ID N...
2019-09-05 13:43:23
229
原创 Docker镜像构建的两种方式
1.从容器创建镜像1.1 docker commit命令docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] OPTIONS 含义 -a 指定镜像的作者 -c 使用Dockerfile指令来创建镜像 -m...
2019-09-03 17:29:20
390
原创 Linux高可用LVS负载均衡集群的搭建(Keepalived+LVS/DR)
1.实例环境2.首先安装keepalived和ipvsadm软件包3.Keepalived配置3.1 Master配置(主负载均衡器)3.2 Backup配置(从负载均衡器)4.配置真实服务器节点5.测试Keepalived+LVS/DR负载均衡集群5.1 负载均衡测试5.2 高可用性功能测试5.3 故障切换测试在这种模式下,虚拟IP在某一时刻只能属于...
2019-08-29 10:12:18
556
原创 HAProxy高可用负载均衡集群搭建
HAProxy简介HAProxy的安装与配置HAProxy的安装HAProxy主配置文件启动haproxy服务端配置HAProxy的测试负载均衡测试故障切换测试HAProxy监控页面的查看HAProxy简介HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速且可靠的一种解决方案。支持4-7层的网络交换,即覆...
2019-08-29 10:11:20
243
原创 LVS负载均衡
1. LVS集群介绍LVS为Linux虚拟服务器(Linux Virtual Server),针对高可伸缩、高可用网络服务的需求,中国的章文嵩博士给出了基于IP层和基于内容请求分发的负载平衡调度解决方案,并在Linux内核实现,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。1.1 LVS集群体系结构负载均衡集群的通用体系结构一般主要有3个部分。负载均衡器(LD)...
2019-08-25 22:47:38
219
原创 Ansible Playbook剧本
1. playbook1.1 playbook介绍playbook是一个或多个play组成的列表 play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible的task定义好的角色。从根本上讲,所谓task无非就是调用ansible的一个模块。将多个play组织在一个playbook中,即可以让它们联通起来按事先编排的机制同唱一场大戏。 playbook采用YAML语言编写...
2019-08-15 19:57:37
172
原创 Ansible常用模块详解
1. Ansible模块1.1 ping模块1.2command常用参数例1:列出root用户根目录下的文件1.3 shell模块常用参数例1:输出远程主机的主机名1.4 file模块常用参数例1:创建目录例2:创建文件例3:创建软连接1.5copy模块常用参数例1:复制文件到远程主机1.6script模块常用参数例1:...
2019-08-15 19:31:36
1056
原创 Python3协程
1.协程协程,又称微线程,协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此,协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,也就是进入上一次离开时所处逻辑流的位置。1.1 协程的好处无需线程上下文切换的开销 ...
2019-08-12 21:15:29
195
原创 Python3多进程
1. multiprocessing模块1.1 直接调用import multiprocessingimport timedef f(name): time.sleep(1) print("hello", name, time.ctime())if __name__ == "__main__": p_list = [] for i in range...
2019-08-12 21:10:21
184
原创 Python3正则表达式和re模块
1. 正则表达式1.1 正则表达式符号2. re模块2.1re.compile(pattern[, flags])2.2re.findall(pattern, string, flags=0)2.3re.finditer(pattern, string, flags=0)2.4 re.match(pattern, string, flags=0)2.5 re.se...
2019-08-12 21:03:41
134
原创 pxe+Kickstart无人值守化自动安装
1.简介1.1 pxe简介1.2 pxe的工作过程1.3 Kickstart2. 实验环境3. Kickstart无人值守部署3.1 配置DHCP服务3.2 TFTP服务配置3.3 准备引导相关的文件3.4 HTTP服务配置(准备安装镜像)3.5 创建ks.cfg应答文件4. 测试想学学cobber,cobber是基于Kickstart的。所以就...
2019-08-12 20:08:33
467
原创 Python3多线程
目录1. 线程与进程1.1 线程1.2 进程1.3 并发和并行1.4 线程和进程的区别1.5 CPU发生切换的情况2. threading模块2.1 threading模块常用的函数及方法2.2 线程的创建(1)直接创建(2)继承式调用2.3 join()方法2.4 GIL全局解释器锁2.5 setDaemon()函数2.6 线程安...
2019-08-11 20:04:13
155
原创 Python不使用第三个变量来交换两个变量的几种方式
1.交换两个变量的方式使用第三个变量的方式就不必说了,这里仅说只使用两个变量来实现交换第一种:Python支持>>> a = 2>>> b = 1>>> a, b = b, a //寄存器参与>>> a1>>> b2第二种:运算方式>>> a...
2019-08-07 05:31:16
867
原创 Python3程序控制语句(顺序/分支/循环)
1.if条件语句1.1 简单的if语句:单分支if语句>>> age = 18>>> if age >=18:... print("You are an adult!")...You are an adult!1.2 if-else语句:双分支if语句>>> age = 17>>> ...
2019-08-07 04:21:44
202
原创 Ansible常用命令详解
1. ansible1.1 举例(1)列出所有主机列表(2)检测websrvs组是否存活1.2ansible的host-pattern(1)全量(all)匹配(2)逻辑或(or)匹配(3)逻辑与(&)匹配(4)逻辑非(!)匹配(5)综合逻辑(6)域切割(7)正则表达式1.3 ansible命令执行过程2.ansible-doc3.a...
2019-08-07 03:54:25
1664
原创 Ansible配置文件详解
Ansible主配置文件默认位于/etc/ansible/ansibe.cfg中[defaults] #通用默认配置#inventory = /etc/ansible/hosts #主机列表invent...
2019-08-07 03:30:50
753
原创 Ansible入门
1. 运维自动化1.1 运维自动化发展历程1.2 常用自动化运维工具2. Ansible2.1Ansible特点2.2 ansible架构3. ansible安装4. Ansible相关文件4.1 配置文件4.2 程序1. 运维自动化运维自动化就是将日常重复性的工作通过规则设定使其遵循预先既定规则,在指定的时间内自动化运行,整个过程无需人工参与。1...
2019-08-07 03:23:06
132
原创 Python3时间日志模块time/datetime/calendar
1.time模块 方法 描述 time.time() 返回当前的时间戳(从1970纪元后经过的浮点秒数) time.sleep() 推迟调用线程的运行,表示进行挂起的时间(CPU不工作) time.clock() 返回CPU执行的时间 ...
2019-08-07 03:05:59
373
原创 python3随机数模块random
1. random模块1.1 random.random()1.2 random.randint(a,b)1.3 random.randrange(a,b)1.4 random.choice()2. 实例1. random模块random用于生成随机数。常用的方法也就几个,如下表: 方法 描述 random() ...
2019-08-07 00:53:47
305
原创 Python3日志模块logging
目录1. logging模块1.1 日志级别1.2 logging.basicConfig()函数1.3 实例3. logging.getLogger()函数1. logging模块logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点:可以通过设置不同的日志等级...
2019-08-07 00:35:50
637
原创 Python3 os模块
1. os模块1.1 os.chdir(path)1.2 os.getcwd()1.3 os.listdir(path)1.4 os.mkdir(path)1.5 os.makedirs(path)1.6 os.remove(path)1.7os.rmdir(path)1.8 os.removedirs(path)1.9 os.rename(src, dst)...
2019-08-07 00:16:36
634
原创 Python3函数
一、函数1. 函数的命名规则2. 函数的定义与使用2.1 定义函数2.2 调用函数2.3 形参与实参2.4 可更改与不可更改对象2.5函数返回值3. 函数的参数3.1 必需参数3.2 关键字参数3.3 默认参数3.4 可变参数4. 变量的作用域5. lambda匿名函数6.递归函数7. 高阶函数8.内置函数8.1 filt...
2019-08-03 00:32:59
668
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人