运维
文章平均质量分 61
Stephen_Curry11
这个作者很懒,什么都没留下…
展开
-
[踩坑篇]logrotate切割日志后,日志还是写在老日志文件中
背景 公司的生产环境中,使用gunicorn部署后端后端django服务,每天会产生很多前端掉调用后端api的日志文件,为了方便管理这些文件,使用了Linux自带的日志切割工具logrotate,每天对log目录下的日志文件进行切割备份,使用起来十分方便。 但是在使用两天后发现了一个问题:虽然日志文件每天凌晨三点会进行切割,并将老的日志文件以时间戳为结尾进行备份,但是程序依然会将日志信息写入老文件中,新的日志文件一直为空。配置及测试结果如下:切割结果:由上图可见,日志切割认为已经完...原创 2020-06-10 15:06:16 · 3972 阅读 · 0 评论 -
python:3.7-alpine镜像使用踩坑
问题 今天开发更新了代码,Jenkins在自动构建打包时报错了,查看日志后发现Dockerfile在执行pipenv install--deploy --system --ignore-pipfile时报错了,报错如下:即pypi阿里源里面没有protobuf==3.12.1的包,匹配不到所以无法安装。解决 昨天在解决时区问题时发现python-alpine是一个极简的镜像,所以这次依旧怀疑是环境的问题,所以我在自己的centos机器是那个尝试使用阿里源安装这个版本的依赖:...原创 2020-06-05 16:48:01 · 5200 阅读 · 0 评论 -
docker部署Python Django前后端分离项目
一、部署准备1、创建项目目录,将资源都放在该目录下tree docker/docker/├── backend│ ├── Dockerfile│ └── start.sh├── docker-compose.yaml└── front ├── Dockerfile └── nginx3 directories, 4 files2、安装dock...原创 2020-04-30 12:39:31 · 549 阅读 · 0 评论 -
Python练习题
1、在Linux电脑上安装pycharm专业版本软件 pycharm工具可以在官网https://www.jetbrains.com/pycharm/上下载,分专业版和社区版: 专业版需要注册码(收费),而社区版完全免费开放但功能较少,在此介绍专业版的免费安装: 点击上图Professional(专业版)下的DOWNLOAD进行下载安装包: 输入你的电子邮箱后即可下载安装包,原创 2017-12-27 13:08:25 · 681 阅读 · 0 评论 -
Python面试题
第一个题: ##分析##该题纯考if...elsif..else语句的语法与判断过程,按一般顺序结构写即可代码如下: 代码调试: 第二题: 问题描述:一个整数,加上100是完全平方数,加上168还是完全平方数,求该数?##分析##由于没有对该数的范围有限制,则需要从0开始进行遍历,每遍历一个数,判断一次。##代码##for i in range(1,100): ##遍历原创 2017-12-27 19:06:38 · 418 阅读 · 0 评论 -
Python字典
##字典结构####定义##字典是Python中重要的数据类型,字典是由“键-值“对组成的集合,字典的“值“通过“键“来引用。##字典的创建####赋值创建字典##d = {"key1":"value1","key2":"value2","key3":"value3"}注:key值与value值之间用冒号,一个key对应一个value;两个键值对之间用逗号隔开##通过工厂函数创建字典##us原创 2018-01-03 19:35:30 · 414 阅读 · 0 评论 -
Python字典及列表练习
练习一 代码及调式结果: 练习二 代码及调试结果 练习三 用户管理系统 调试:原创 2018-01-04 14:36:41 · 647 阅读 · 0 评论 -
Python集合
##集合的定义##第一种定义方式:赋值定义s = {1,2,3,"hello"}print type(s)print s 注意:在赋值法定义集合时,大括号中必须要有值,否则系统将自动判定s为字典类型!!! 第二种方式:工厂式定义集合s = set()print type(s)注意:工厂式定义时括号内没有值!! 用该方式定义后,s可以被赋值,可以是列表,字符串等任何数据类型 但原创 2018-01-08 21:12:40 · 314 阅读 · 0 评论 -
ELK日志分析平台实战(一)
一、实战环境1、架构图Filebeat作为日志采集器分别部署在Nginx服务器上,logstash作为日志过滤器单独部署在服务器上,es与Kibana部署在同一台服务器上,通过内网传输日志数据,Nginx代理Kibana可视化。2、机器分布192.168.117.136 nginx+filebeat192.168.117.137 Nginx+filebeat192.1...原创 2018-12-29 16:45:43 · 412 阅读 · 0 评论 -
ELK日志分析平台实战(二)
一、实战环境1、架构图相比上一篇博客,该架构的变化在于将单点ES替换为ES集群(master+data_node)2、机器分布192.168.117.136 Nginx+filebeat192.168.117.137 Nginx+filebeat192.168.117.138 logstash192.168.117.139 es+kiba...原创 2018-12-29 18:13:30 · 516 阅读 · 0 评论 -
基于RSYNC的实时目录同步
应用场景搭建多台web服务器实现负载均衡,因此多台服务器的网站文档内容必须实时同步。本实例中使用两台web服务器,基于rsync进行目录同步,需要结合inotify机制实现触发式的上行同步,保持两个网站的文档的统一性。部署过程1、安装inotifywget http://yh-30.oss-cn-hangzhou.aliyuncs.com/%E8%B5%84%E6%BA%90/i...原创 2019-01-14 11:16:10 · 1786 阅读 · 0 评论 -
清除Centos 7 syslog中的无用信息
环境Centos 7问题在我的机器上,发现/var/log/message文件中经常会产生很多如下无用日志:Jan 20 18:28:26 pycharm systemd: Started Hostname Service.Jan 20 18:30:01 pycharm systemd: Starting Session 10 of user root.Jan 20 18:30:...原创 2019-01-21 15:19:41 · 881 阅读 · 0 评论 -
Python列表
##列表结构##列表是Python中非常重要的数据类型,通常作为函数的返回类型。列表和元组相似,也是由一组元素组成,列表可以实现添加,删除和查找操作,元素值可以被修改。##列表的创建##列表定义:list = [元素1,元素2,元素3,....]列表中的元素可以是数,字符串,元组,甚至是列表。举例:list = [1,2,"westos",(1,3,5,7),[2,4,6,8]]列表与元组的原创 2018-01-02 22:44:55 · 983 阅读 · 0 评论 -
Python元组
元组的结构元组是Python中常用的一种数据结构。元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字、甚至元组。元组是“写保护”的,即元组创建后不能再做任何修改操作,元组通常代表一行数据,二元组中的元素代表不同的数据项。 1、元组的创建#格式:t = (元素1,元素2,元素3,....)#初始化实例:t = (1,2,"hello",'s',2j,True)注意:元组中各元原创 2017-12-26 23:47:22 · 642 阅读 · 0 评论 -
Python控制语句
一、 条件判断语句1、概念:条件语句是指根据条件表达式的不同计算结果,使程序流转至不同的代码块。 2、if else 条件语句 if语句的基本格式如下。if 表达式: 语句1else: 语句2if语句的执行过程:如果表达式的布尔值为真,则执行语句1;否则执行语句2。其中else语句可以省略。 注意:if 表达式后的冒号不能省略,else后的冒号也不能省略,否则系统报错!!!原创 2017-12-26 23:00:36 · 320 阅读 · 0 评论 -
Linux命令行及文件练习题
1.用student用户登陆系统图形界面2.打开一个bash 3.修改student的密码,把密码更新成"T3st1ngtlme"(主机字母和数字)4.显示当前系统时间原创 2017-09-27 20:14:04 · 1524 阅读 · 0 评论 -
练习题
1、显示当前时间,显示格式为hh:mm:ss,并保存到文件time.txt中。2、显示/etc/passwd文件的第15-18行内容3、显示/bin中文件包含大写字母的文件,保存到bin_westos_file.txt中,并统计个数显示到屏幕。4、在student用户下查找/etc下passwd文件,屏蔽错误输出。5、在student用户下查找/etc下pa原创 2017-10-01 22:48:56 · 422 阅读 · 0 评论 -
Linux输入与输出及vim
一、管理输入输出 1、输出 在Linux系统中,正确的输出编号为1,错误输出编号为2。 用普通用户student执行"find /etc -name passwd"命令,结果如下图: 因为studnet的权限问题,该命令输出为两部分:划线部分为正确输出,其余为错误输出。 在工作中有时只需要正确输出,有时只需要错误输出,所以用重定向输出原创 2017-10-08 22:13:13 · 536 阅读 · 0 评论 -
Linux系统用户管理
一、用户理解 用户就是系统使用者的身份,在系统中用户存储为若干串字符和若干个系统配置文件。用户的常用配置文件有: /etc/passwd :用户配置信息文件 用cat查看,内容为当前系统中所有用户的配置信息。 配置信息以冒号分隔开,依次为:用户:密码:uid:gid:说明:家目录:用户使用的shell /etc/shadow :用户认证信息 用原创 2017-10-09 16:59:48 · 368 阅读 · 0 评论 -
Linux系统文件权限
一、文件属性的查看 1、ls -l 文件名:查看 文件基本属性 图中各区域对应的属性: 1.“-”文件类型:- :普通文件;d :目录;c :字符设备;s :套接字;p :管道;b :块设备;l:链接 2.“rw-r--r--”文件读写权限:---|---|---|分为3部分,每三个为一部分;第一部分为文件拥有人原创 2017-10-09 20:18:42 · 335 阅读 · 0 评论 -
Linux进程管理
一、进程的定义 进程就是cpu未完成的工作。 在shell中执行gnome-system-monitor 命令,即可查看进程。 二、ps命令 ps a :关于当前环境的所有进程 ps x :系统所有进程 ps e:显示进程调用环境工具的具体信息 ps l :原创 2017-10-10 21:07:57 · 267 阅读 · 0 评论 -
Linux系统的服务控制
1.systemd系统初始化程序,系统开始的第一个进程,pid为12、systemctl命令 systemctl list-units ##列出当前系统服务的状态systemctl list-unit-files ##列出服务的开机状态 systemctl status sshd ##查看指定服务的状态原创 2017-10-10 22:43:54 · 275 阅读 · 0 评论 -
Linux系统之文件归档、压缩和传输
一、文件的归档 1、文件归档就是将多个文件通过归档命令变成一个归档文件,文件数量上从多个到一个。 2、归档命令: (1)tar cf :创建归档文件。如:tar cf etc.tar /etc/ 执行该命令后,在当前目录中即创建了一个归档文件。 (2)tar tf原创 2017-10-23 19:37:59 · 398 阅读 · 0 评论 -
Python简介
一、Python的由来 Pthon是一种动态解释性的编程语言,由Guido(龟叔)在1989年开发,于1991年发表。Guido曾是CWI公司的一员,使用解释性编程语言ABC开发应用程序,该语言在开发软件上有局限性,为了更高效的完成一些任务,Guido设计了一门更通用的程序设计语言。Python就此诞生。 二、Python的开发环境 1、Python的开发环境有多种,在windows原创 2017-12-26 16:57:39 · 233 阅读 · 0 评论 -
Python的基础数据结构
一、变量的命名规则 变量的名称的设定规则是:由字母、数字或下划线组成,必须以字母或下划线开头,其他字符可以由字母、数字或下划线(即数字不能出现在开头),也不可以由关键字 正确的变量命名:aInt = 1_hell8 = 2错误的变量命名:1Int = 3 ##以数字开头si$2 = 4 ##含有其他特殊字符if = 3 ##if为关键字,不能作原创 2017-12-26 17:12:51 · 409 阅读 · 0 评论