摘要: 一、简介 业务上线之前最关键的一项任务便是环境部署,往往一个业务涉及多种应用环境,比如Web、DB、PROXY、CACHE等,本示例通过env.roledefs定义不同主机角色,在使用”@roles(webservers)”修饰符绑定到对应的任务函数,实现不同角色主机的部署差异。 二、业务环境 四台 阅读全文
posted @ 2020-08-11 14:52 星火撩原 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 本示例使用”@task”修饰符标志入口go对外部可见,配合”@run_once”修饰符接收用户输入,最后调用worktask()任务函数实现远程命令执行,详细源码如下: 【/home/tools/fabric3/simple2.py】 该示例实现了一个动态输入远程目录名称,再获取目录列表功能,由于我 阅读全文
posted @ 2020-08-11 14:49 星火撩原 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 本事例通过调用local()方法执行本地(主控端)命令,添加”@runs_once”修饰符保证该任务函数只执行一次。调用run()方法执行远程命令。详细源码如下: 【/home/tools/fabric3/simple1.py】 通过fab命令调用local_task任务函数运行结果: fab -f 阅读全文
posted @ 2020-08-11 14:42 星火撩原 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 一、fab的常用参数 fab 作为Fabric程序的命令行入口,提供丰富的参数调用,命令格式如下: fab [options] <command>[:arg1,arg2=var1,host=foo,host2=’h1;h2’…] … 下面列举了常用的几个参数,更多参数可使用fab -help查看。 阅读全文
posted @ 2020-08-11 14:41 星火撩原 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 Fabric是基于python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行的日志输出等功能。Fabric 比 paramiko 的基础上做了更高一层的封装,操作起来会更 阅读全文
posted @ 2020-08-11 14:40 星火撩原 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 一、简介 电子邮件是最流行的互联网应用之一。在系统管理领域,我们常常使用邮件来发送告警信息、业务质量报表等,方便运维人员第一时间了解业务的服务状态。本节通过python的smtplib模块来实现邮件的发送功能,模拟一个smtp客户端,通过与smtp服务器交互来实现邮件发送功能,这可以理解成foxma 阅读全文
posted @ 2020-08-11 14:39 星火撩原 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 一、简介 有很多需求需要在Python中执行shell命令、启动子进程,并捕获命令的输出和退出状态码,类似于Java中的Runtime类库。本文将介绍subprocess模块的定位,然后介绍subprocess模块提供的便利函数,最后介绍Popen这个类的使用方法。 二、subprocess模块的使 阅读全文
posted @ 2020-08-11 14:37 星火撩原 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 一、使用tarfile库读取与创建tar包 0、先创建一些测试文件 touch {1..2}.txt 1、创建压缩包 In [7]: import tarfile In [9]: with tarfile.open('demo.tar',mode='w') as out: ...: out.add( 阅读全文
posted @ 2020-08-11 14:36 星火撩原 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 一、简介 shutil 是高级的文件,文件夹,压缩包处理模块。 二、使用 1、复制文件或文件夹 复制文件:shut.copy(‘源文件’,’目标文件’) 复制文件夹:shutil.copytree(‘源文件夹’,’目标文件夹’) In [1]: import shutilIn [2]: lsa.py 阅读全文
posted @ 2020-08-11 14:30 星火撩原 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 一、使用fnmatch找到特定文件 1.建立多个文本,模拟实验内容。 touch {a..z}.txt 2.查找本文件夹中所有以”.txt”结尾的文件并以列表的形式输出。 In [1]: import os In [2]: [item for item in os.listdir('.') if i 阅读全文
posted @ 2020-08-11 14:29 星火撩原 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 在 Linux 中,操作系统提供了很多的命令(例如:ls、cd),用于文件和目录管理。在 Python 中,有一个 os 模块,也提供了许多便利的方法来管理文件和目录。 二、os 模块 os:语义为操作系统。所以,os 模块提供的肯定是操作系统相关的功能了(与具体的平台无关)。 如果用 d 阅读全文
posted @ 2020-08-11 14:18 星火撩原 阅读(909) 评论(0) 推荐(0) 编辑
摘要: 准备工作 1、安装Ipython(请见”Ipython的安装”) 2、实验用的文档(你自己用vi编辑器创建文件就好了) 一、Python内置的Open函数 在Python中,要对应文件进行操作,只要使用内置的Open函数打开文件即可。Open函数接受文件名和打开模式作为参数,返回一个文件对象。工程师 阅读全文
posted @ 2020-08-11 14:12 星火撩原 阅读(1186) 评论(0) 推荐(0) 编辑
摘要: 一、模块介绍 dnspython 是Python实现的一个DNS工具包,支持几乎所有的记录类型,可以用于查询,传输并动态更新ZONE信息,同时支持TSIG(事务签名)验证消息和EDNS0(扩展DNS)。可以替代nslookup,dig等工具,轻松做到平台整合。 二、模块安装 pip3 install 阅读全文
posted @ 2020-08-11 13:55 星火撩原 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 一、简介 IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能、可扩展方面,在这个过程当中,免不了要计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等。Python提供了一个强大的第三方模块IPy,最新版本为V0.83。IPy模块可以很好 阅读全文
posted @ 2020-08-11 13:40 星火撩原 阅读(774) 评论(0) 推荐(0) 编辑
摘要: 一、简介 获取当前系统的进程信息,可以让运维人员得知应用程序的运行状态,包括进程的启动时间、查看或设置CPU的亲和度,内存使用率、IO信息、socket连接、线程数等,这些信息可以呈现出指定进程是否存活,资源利用情况,为开发人员的代码优化、问题定位提供很好的数据参考。 (1)进程信息 psutil模 阅读全文
posted @ 2020-08-11 13:29 星火撩原 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 一、简介 psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free 阅读全文
posted @ 2020-08-11 13:20 星火撩原 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 1、IPython的安装方法:pip3 install ipython(注意代理环境安装软件的方式与正常方法不同,安装时会自动安装相关依赖包) 2、运行Ipython 阅读全文
posted @ 2020-08-11 13:07 星火撩原 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 一、永久设置 编辑配置文件 vi /etc/profile 在文件后添加以下内容: export http_proxy=’http://代理服务器IP:端口号’ export https_proxy=’http://代理服务器IP:端口号’ 然后使用source /etc/profile使设置立即生 阅读全文
posted @ 2020-08-11 13:02 星火撩原 阅读(1631) 评论(0) 推荐(0) 编辑
摘要: 1、进入root目录 cd ~ 2、建立.pip文件夹 mkdir .pip 3、进入.pip文件夹 cd .pip 4、编辑pip.conf文件 vi pip.conf [global] index-url = https://mirrors.aliyun.com/pypi/simple/ [in 阅读全文
posted @ 2020-08-11 13:00 星火撩原 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 1、查看当前系统下的python版本号 python -V 2、建立文件夹并切换 mkdir -p /home/tools cd /home/tools 3、安装相关支持库 yum install wget zlib* libffi-devel -y yum install openssl-deve 阅读全文
posted @ 2020-08-11 12:46 星火撩原 阅读(426) 评论(0) 推荐(0) 编辑