
运维自动化
文章平均质量分 92
happy_king_zi
这个作者很懒,什么都没留下…
展开
-
使用Python监控Linux系统
dstat是一个用Python语言实现的多功能系统资源统计工具,用来取代Linux下的vmstat、iostat、netstat和ifstat等命令。并且,dstat克服了这些命令的限制,增加了额外的功能、以及更多的计数器与更好的灵活性。dstat可以在一个界面上展示非常全面的监控信息。dstat将以列表的形式显示监控信息,并且用不同的颜色进行输出,以可读性较强的单位展示监控数值。原创 2024-10-17 23:15:17 · 1358 阅读 · 0 评论 -
Python生态工具、文本处理和系统管理(虚拟)
PyCharm是由JetBrains打造的一款功能强大的Python IDE 也是目前最流行的 Python IDE。JetBrains是捷克一家软件开发公司,该公司最为人熟知的产品是一款名为 IntelliJ IDEA的Java IDE。IntelliJ IDEA是Eclipse最大的竞争对手,并且,不少资深的软件工程师 都认为,IntelliJ IDEA 比 Eclipse更加智能、更加好用。原创 2024-10-17 23:06:45 · 1104 阅读 · 0 评论 -
GO之流程控制
for range 结构时Golang语言特有的一种迭代结果,在许多情况下都非常有用,for range 可以遍历数组、切片、字符串、map及通道。这三种基本逻辑是相互支撑的,他们构成了算法基本机构,无论怎样复杂的逻辑结构,都可以通过他们来表达。fmt.Printf("索引为: %d, 具体的值为:%c \n", i, value)索引为: 10, 具体的值为:d。索引为: 11, 具体的值为:!索引为: 15, 具体的值为:你。索引为: 18, 具体的值为:好。索引为: 21, 具体的值为:,原创 2024-10-15 22:23:23 · 978 阅读 · 0 评论 -
flask基础学习
Flask中有个配置属性叫做SECRET_KEYregex名字固定"""第一步:自定义URL匹配正则表达式""""""路由匹配时,正则匹配成功后传递给视图函数中参数的值:return:""""""使用url_for反向生成URL时,传递的参数经过该方法处理,返回的值用于生成URL中的参数:return:"""return val# 第二步:添加到flask中# 第三步:zaiapp.run()Mobile转换器# 等价于# 定义转换器# 将自定义转换器告知Flask应用。原创 2024-10-14 16:39:08 · 1276 阅读 · 0 评论 -
Django ORM中models的字段和参数
PS: 返回值为字段在数据库中的属性,Django字段默认的值为:注意事项触发Model中的验证和错误提示有两种方式:a. Django Admin中的错误信息会优先根据Admiin内部的ModelForm错误信息提示,如果都成功,才来检查Model的字段并显示指定错误信息b. 使用ModelFormc. 调用Model对象的 clean_fields 方法,如:email = models.EmailField(error_messages={'invalid': '格式错了.'})原创 2024-10-13 21:34:17 · 444 阅读 · 0 评论 -
Django-分页、中间件和请求的声明周期
2、index.html 3、扩展 二)自定义分页器二、中间件 Django中叫中间件,其他框架种有的叫管道。 中间件,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变Django的输入与输出。因为改变的是全局,所以需要谨慎使用,用不好会影响性能。 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件原创 2024-10-13 21:28:04 · 1009 阅读 · 0 评论 -
jenkins知识整理
先备份 config.xml 为 config.xml.bak,而后打开 config.xml 配置文件,修改“<useSecurity>true</useSecurity>”为“<useSecurity>false</useSecurity>”;首先,进入 .jenkins 目录(比如/home/jenkins/.jenkins)。jenkins job显示设置插件,比如二维码显示(需要在全局安全配置)2 访问Jenkins页面,输入管理员admin,及刚才的密码;job配置历史插件(方便配置管理)原创 2024-10-13 21:09:44 · 1662 阅读 · 0 评论 -
Django-admin管理工具
单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。原创 2024-09-30 15:25:19 · 1475 阅读 · 0 评论 -
Django-form表单
Widget:用来渲染成HTML元素的工具,如:forms.Textarea对应HTML中的<textarea>标签Field:Form对象中的一个字段,如:EmailField表示email字段,如果这个字段不是有效的email格式,就会产生错误。Form:一系列Field对象的集合,负责验证和显示HTML元素Form Media:用来渲染表单的CSS和JavaScript资源。subject = forms.CharField(max_length=100 ,label='留言标题')原创 2024-09-30 15:06:42 · 1722 阅读 · 0 评论 -
进程管理工具:非daemon进程管理工具supervisor
supervisor是一个 Client/Server模式的系统,允许用户在类unix操作系统上监视和控制多个进程,或者可以说是多个程序。supervisor与launchd,daemontools,runit等程序有着相同的功能,与其中某些程序不同的是,它并不作为“id 为 1的进程”而替代init。相反,它用于控制应用程序,像启动其它程序一样,通俗理解就是,把Supervisor服务管理的进程程序,它们作为supervisor的子进程来运行,而supervisor是父进程。原创 2024-09-29 08:33:21 · 1407 阅读 · 0 评论 -
Django-认证系统
authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的。通过认证并不意味着用户拥有任何权限,甚至也不检查该用户是否处于激活状态,这只是表明用户成功的通过了认证。若用户没有登录,则会跳转到django默认的 登录URL '/accounts/login/ ' (这个值可以在settings文件中通过LOGIN_URL进行修改)。用户需要修改密码的时候 首先要让他输入原来的密码 ,如果给定的字符串通过了密码检查,返回 True。原创 2024-09-27 15:47:12 · 763 阅读 · 0 评论 -
配置管理工具之saltstack实战总结
你可以创建一个自定义的 State 文件来收集并汇总这些信息,并将其保存到文件或数据库中。原创 2024-09-26 10:07:39 · 1108 阅读 · 0 评论 -
Goland的使用
Goland是由JetBrains公司旨在为go开发者提供的一个符合人体工程学的新的商业IDE。这个IDE整合了IntelliJ平台的有关go语言的编码辅助功能和工具集成特点。原创 2024-09-25 10:04:26 · 3740 阅读 · 0 评论 -
Visual Studio Code的常用快捷键
Visual Studio Code是个牛逼的编辑器,启动非常快,完全可以用来代替其他文本文件编辑工具。又可以用来做开发,支持各种语言,相比其他IDE,轻量级完全可配置还集成Git感觉非常的适合前端开发。所以我仔细研究了一下文档未来可能会作为主力工具使用。原创 2024-09-25 10:01:53 · 2268 阅读 · 0 评论 -
Python范例总结
sys模块是很常用的模块, 它封装了与python解释器相关的数据,例如sys.modules里面有已经加载了的所有模块信息,sys.path里面是PYTHONPATH的内容,而sys.argv则封装了传入的参数数据。WSGI(Web Server Gateway Interface)是一种规范,它定义了使用python编写的web app与web server之间接口格式,实现web app与web server间的解耦。当把面向对象中的所有__函数__实现时,对象做任何操作时,都会执行其中对应的方法。原创 2024-09-23 10:20:19 · 1230 阅读 · 0 评论 -
python应用实战
服务端## 使用Python的http.serve启动一个web服务python -m http.server --directory 共享路径 -b 0.0.0.0 8080# 客户端## 直接 访问 ip+端口;可以访问到共享目录下所有资源### 给其他人文件访问地址,复制到浏览器上直接可下载。原创 2024-09-23 10:13:16 · 1023 阅读 · 0 评论 -
saltstack企业实战
saltstack官网最新文档saltstack 高可用方案:Salt官网是有https://www.cnblogs.com/renolei/p/4725455.html架构解析注意事项1.2个master并不会共享Minion keys,一个master删除了一个key不会影响另一个2.不会自动同步File_roots,所以需要手动去维护,如果用git就没问题了3.不会自动同步Pillar_Roots,所以需要手工去维护,也可以用git4.Master的配置文件也是独立的https://w原创 2024-09-19 10:38:40 · 1279 阅读 · 0 评论 -
saltstack高级用法
Jid:job id,格式为%Y%m%d%H%M%S%fmaster在下发指令消息时,会附带上产生的Jid,minion在接收到指令开始执行时,会在本地的cachedir(默认是/var/cache/salt/minion/)下的proc目录产生以Jid命名的文件,用于在执行过程中master查看当前任务的执行情况。指令执行完毕后将结果传送给master后,删除该临时文件。原创 2024-09-19 10:30:04 · 982 阅读 · 0 评论 -
saltstack配置管理
salt-ssh 是 0.17.0 新引入的一个功能,不需要minion对客户端进行管理,也不需要master。salt-ssh 支持salt大部分的功能:如 grains、modules、state 等salt-ssh 没有使用ZeroMQ的通信架构,执行是串行模式salt-ssh和salt-minon可以共存,salt-minion不依赖ssh服务类似 paramiko、pssh、ansible 这类的工具。原创 2024-09-18 10:55:52 · 1375 阅读 · 0 评论 -
saltstack远程执行
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.rh_service.html#module-salt.modules.rh_service解释。List: 指定-L参数,salt -E 'web1-(prod|devel)' test.ping。详解见:https://www.cnblogs.com/phennry/p/5416408.html。返回到哪,需要安装相关的依赖包(返回支持写入目的地,详见上面文档)原创 2024-09-18 10:38:40 · 992 阅读 · 0 评论 -
saltstack入门
SaltStack 是一种基于C/S 架构的服务器基础架构集中化管理平台,管理端称为 Master,客户端称为 Minion。SaltStack 具备配置管理、远程执行、监控等功能,一般可以理解为是简化版的 Puppet 和加强版的 Func。SaltStack 本身是基于 Python 语言开发实现,结合了轻量级的消息队列软件 ZeroMQ 与 Python 第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack 和 PyYAML 等)构建。原创 2024-09-18 10:33:29 · 2187 阅读 · 0 评论 -
ansible企业实战
ControlPersist=5d这个参数是设置整个长连接保持时间设置为5天,如果开启,通过SSH连接过的设备都会在/ansible/cp目录下生成一个socket文件。修改 /etc/ansible/ansible.cfg里面的参数pipelining=True。修改 /etc/ansible/ansible.cfg里面的参数。需要将 [bj4-k8s] 变更为 [bj4_k8s]原创 2024-09-14 11:54:19 · 1742 阅读 · 0 评论 -
ansible安全优化篇
Telnet协议诞生于20世纪60年代后期,最初被应用到基于TCP协议的大型私有网络之中,默认端口是23号端口。Telnet是一种文本协议,用于在不同网络间传输数据。Telnet属于底层协议,至今它依然是我们现在使用的很多通信协议的基础,比如HTTP、FTP以及POP3。随着SSH的到来,Telnet开始逐渐退出远程管理的舞台。Linux系统的sudo命令可以让普通用户以root(也可以指定为其他用户)的权限来执行指定命令,这样不仅减少了root用户和管理时间,同样也提高了安全性。原创 2024-09-14 11:45:44 · 1985 阅读 · 0 评论 -
ansible常用模块
9 state: directory:如果目录不存在,创建目录 file:即使文件不存在,也不会被创建 link:创建软链接 hard:创建硬链接 touch:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间 absent:删除目录、文件或者取消链接文件。如果路径是一个目录,它将递归复制。5 force:如果目标主机包含该文件,但内容不同,如果设置为yes,则强制覆盖,如果为no,则只有当目标主机的目标位置不存在该文件时,才复制。原创 2024-09-14 11:43:48 · 1081 阅读 · 0 评论 -
gitlab使用
或者上官网下载最新版本 gitlab对应软件包 [gitlab官网](https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-8.12.13-ce.0.el7.x86_64.rpm)/var/opt/gitlab/nginx/conf/nginx.conf #nginx配置文件,包含gitlab-http.conf文件。在操作用户的家目录创建文件:如果该路径下没有config文件,则创建一个。原创 2024-08-28 11:54:26 · 1766 阅读 · 0 评论 -
Python处理Excel和PDF文档
openpyxl是一个读写Excel2010(xlsx/xlsm)文档的Python库,如果要处理更早格式的Excel文档,需要用到另外的库。openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档。XlsxWriter也是一个与Excel处理相关的知名项目,仅支持创建和写入Excel文档,不支持读取Excel文档。PyPDF2是一个纯Python的开源库,能够分割或合并PDF文件,也可以裁剪或转换 PDF文件中的页面。原创 2024-08-27 17:56:35 · 1118 阅读 · 0 评论 -
Go之函数
对特定的功能进行提取,形成一个代码片段基本语法:type 自定义数据类型名 数据类型自定义数据类型相当于起个别名实战1type myInt int ————>myInt就等价于int//自定义数据类型:(相当于起别名)给int类型起了个别名叫myInt类型//num2 = num1 //虽然是别名,但是在go中编译识别时,还是认为myInt和int不是一种数据类型实战2。原创 2024-08-22 10:01:39 · 701 阅读 · 0 评论 -
Go代码风格
正确范例反例:var a int 的随意命名方式。原创 2024-08-22 09:56:18 · 966 阅读 · 0 评论 -
golang多版本管理工具g
g是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换。原创 2024-08-22 09:49:06 · 1687 阅读 · 0 评论 -
Django进阶Model篇—数据库操作(ORM)
PyMySQL(纯python的mysql驱动-推荐) :https://pypi.python.org/pypi/PyMySQL。原创 2024-08-21 13:46:22 · 1821 阅读 · 0 评论 -
Git 常用命令说明
场景: 你在最后一条 commit 消息里有个笔误,已经执行了 git commit -m "Fxies bug #42",但在 git push 之前你意识到消息应该是 “Fixes bug #42″。方法: git commit --amend 或 git commit --amend -m "Fixes bug #42"原创 2024-08-21 13:37:32 · 1125 阅读 · 0 评论 -
Python之wsgi
WSGI一开始是在。原创 2024-08-21 13:34:17 · 870 阅读 · 0 评论 -
Python环境——安装扩展库
在安装成功后,pycharm会提供提示。若安装了Python2和3两种版本,可能遇到安装目录问题(python2,需要将python3 改成python)安装完Python环境之后,系统就直接支持pip,所以只要输入一行(Python2直接使用pip)但是有少量的库是使用其他语言编译的,安装方法类外。安装相应的库,安装位置:PYTHON_HOME\lib\site-packages。进入pypi.python.org,搜索你要安装的名字,这是有3种可能。在pycharm中安装可以方便快捷的安装和管理库。原创 2024-08-21 13:28:25 · 1335 阅读 · 0 评论 -
Ipython使用指南
2001年,Fernando Perez为了得到一个更为高效的交互式Python解释器而启动的一个项目,IPython不仅仅是一个加强版的shell,他可以直接进行绘图操作的GUI控制台,一个基于web的交互式笔记本,以及一个轻量级的快速并行计算引擎。ipython是一个升级版的交互式python命令行工具.原创 2024-08-21 13:24:52 · 2255 阅读 · 0 评论 -
python格式化输出
3 >>> print('{:10s} and {:>10s}'.format('hello','world')) # 取10位左对齐,取10位右对齐。5 >>> print('{:^10s} and {:^10s}'.format('hello','world')) # 取10位中间对齐。{:-f}'.format(3.14, -3.14) # -数时显示-,与'{:f};5 >>> print('{0} {1} {0}'.format('hello','world')) # 打乱顺序。原创 2024-08-20 18:03:28 · 6792 阅读 · 0 评论 -
Python之requests模块
使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3)注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求2、安装requests模块HTTP默认的请求方法就是GET* 没有请求体* 数据必须在1K之内!原创 2024-08-20 17:58:09 · 4495 阅读 · 0 评论 -
Cpython解释器下实现并发编程——多进程、多线程、协程、IO模型
进程:正在进行的一个过程或者说一个任务。而负责执行任务则是CPU。举例(单核+多道,实现多个进程的并发自行)一个时间段有许多任务要做:下载课程的视频,洗衣服,和朋友聊天,做饭(在一个任务正在运行时,不需要人工干预时,切换做另外一件事情,设定好相应的提醒,或者定时执行动作)python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。原创 2024-08-19 11:10:41 · 1049 阅读 · 0 评论 -
Python-异常处理
异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下语法错误(不能发生的:根本过不了python解释器的语法检测,必须在程序执行前就改正)逻辑错误 2、运行过程中计算机错误:内存不够或者io错误 三)异常的步骤: 异常产生,检查到错误且解释器认为是异常,抛出异常异常处理,异常处理,截获异常,系统忽略或者终止程序处理异常在python中不同的异常可以用不同的类型(pyt原创 2024-08-19 10:43:20 · 3263 阅读 · 0 评论 -
面向对象进阶
反射的概念式有Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。1.对象有id、host、port三个属性2.定义工具create_id,在实例化时为每个对象随机生成id,保证id唯一3.提供两种实例化方式,方式一:用户传入host和port 方式二:从配置文件中读取host和port进行实例化。原创 2024-08-18 11:12:09 · 641 阅读 · 0 评论 -
初识面向对象,面向对象之继承、多态和封装
1315 print('%s 打了 %s' %(person_d['name'],dog_d['name']))1719 print('%s 咬了 %s' %(dog_d['name'],person_d['name']))角色实例化,互相攻击2 egg = dog(200,2000,'egon','金毛')弊端:某一角色误操作,可以调用其他角色的技能,这是明显的bug,必须修正:角色只能调用自己的技能面向过程的程序设计的核心是过程二字(流水线式思维),过程即解决问题的步骤。原创 2024-08-18 10:53:27 · 829 阅读 · 0 评论