- 博客(116)
- 收藏
- 关注
原创 JDK 安装部署文档
本文档提供了一套基于自动化脚本的 JDK 安装部署方案,支持 JDK 8 和 JDK 17 的安装。本方案的核心特性是"智能安装策略",能够自动检测系统现有的 Java 环境,并据此调整安装行为,确保系统兼容性和灵活性。:引导用户从官方或推荐的开源镜像站获取 JDK 安装包当系统无 Java 环境时,自动安装为系统默认 JDK当系统已有 Java 环境时,仅安装到/opt目录,不影响现有环境,用户可通过绝对路径灵活使用新版本。
2025-08-30 17:51:58
690
原创 k8s 定时任务需求模板
本文介绍了在Kubernetes中创建定时任务(CronJob)的方法,用于每分钟访问指定URL。主要内容包括:1)创建包含curl命令的CronJob YAML配置文件,设置每分钟执行一次并限制历史记录数量;2)部署流程,包括创建命名空间和应用配置;3)状态检查命令,可查看CronJob、Job状态及日志;4)说明使用的基础镜像和curl命令原理。该方案实现了周期性接口访问的功能,同时避免产生多余日志文件。
2025-08-30 15:40:55
423
原创 K8s服务日志收集方案文档
本文介绍了一套基于Kubernetes环境的日志收集方案,采用Filebeat+Kafka+Logstash架构,实现高效可靠的日志管理。方案包含采集层(Pod+Filebeat)、传输层(Kafka)、处理层(Logstash)和存储层(文件系统),支持多服务独立管理、日志轮转和自动清理。详细说明了各组件配置要点,包括Filebeat的多行日志处理、Kafka的Topic设计、Logstash的Pipeline配置等,并提供了新服务接入流程和日常运维建议。该方案具有高扩展性、灵活性和可靠性,能满足K8s环
2025-08-30 14:50:23
902
原创 Kubernetes 节点资源监控与自动调度管理脚本
摘要:本文介绍了一个Kubernetes节点资源监控脚本,用于自动检测CPU/内存使用率超标的节点并执行cordon/uncordon操作。脚本包含以下功能:1)可配置资源阈值(默认CPU70%/内存75%);2)支持排除特定节点;3)具备锁机制防止并发执行;4)详细的日志记录和自动轮转;5)自动检查kubectl环境。当节点资源超过阈值时自动cordon,恢复正常后自动uncordon,确保集群稳定性。建议通过crontab定时执行,适用于需要自动化管理Kubernetes集群资源的场景。(149字)
2025-08-30 14:48:07
331
原创 运维底线:一场关于原则与妥协的思辨
摘要:文章探讨了运维工程师在业务需求与技术原则之间的平衡之道。作者通过亲身案例指出,运维底线是基于科学原则的经验总结,绝非保守思维。文章强调生产环境隔离、数据安全等底线不可妥协,而流程优化等方面可适当磨合。真正的尊重源于专业能力而非妥协,坚守底线能形成良性互动。提出"有理、有利、有节"的斗争艺术:用专业分析拒绝不合理要求,同时提供替代方案。运维与业务应是伙伴关系,共同目标是系统稳定和业务发展。结论指出,底线就是生命线,在这个妥协盛行的时代,坚守才能赢得真正尊重。
2025-08-30 14:45:49
904
原创 【golang】切片
基本概念切片看上去是一个可变长度的数组,实际上底层是一个结构体。结构体包含三个基本元素:1,指针(*[]type),指向一个连续的内存空间,也就是一个数组; 2,元素个数(len),可以访问的元素的个数;3,指针指向的数组的空间的长度(cap)其中,len个元素会被初始化为默认零值,未初始化的元素不可访问。切片结构体详解如下图:代码func TestSliceInit(t *testing.T) { // var s0 []int //如果声明时不赋值,此时切片中...
2022-05-06 17:44:12
876
原创 脚本内使用目录正则出现的问题
问题描述:在脚本中使用目录通配 `{a,b}`,当执行脚本时,并不能获取到通配结果。但是直接在命令行执行,是没有问题的。问题分析:当脚本执行时,变量带上了单引号,导致执行 ls 命令时,无法识别通配不优雅的解决:没有找到完美的方法,希望能得到大佬帮助。目前使用了不是很优雅的方式规避了该问题。...
2021-09-24 10:16:37
325
原创 SRE认知之监控概述
监控监控理念当为监控系统和警报系统增加新的规则时,我们应该关注一下问题: 该规则是否能够检测到一个目前检测不到的、紧急的、有操作性的,并且即将发生或者已经发生的用户可见故障? 是否可以忽略该警报?什么情况可能会导致用户忽略该警报,如何避免? 这条警报是否确实显示了用户正在收到影响?是否存在用户没有收到影响也会触发这条规则?例如测试环境和系统维护状态下的警报是否应该被过滤掉? 收到警报后,是否要进行某个操作?是否需要立即执行该操作,还是可以等到第二天早上再进行?该操
2021-07-05 16:57:59
808
原创 /etc/hosts 映射name使用 tab 补全功能
/etc/hosts 映射name使用 tab 补全功能通过中控机登陆对端服务器时,通过ssh ip方式有一个明显弊端:ip很难被记住,当ip数量庞大时,这是一个很麻烦的事情,我们可以通过/etc/hosts映射(ip HostName)来规避这个问题。同时,需要在登陆时,键入HostName 可以使用tab键补齐。下面内容详细的解决/etc/hosts 中映射名使用 tab 补齐问题。编辑如下文件:/var/local/complete.sh#!/bin/bash### Comple.
2021-04-12 14:16:42
380
原创 CDN的基本概念和产生背景
内容分发网络技术发展与基本原理1.1 CDN的基本概念和产生背景WWW(万维网)的出现,使互联网发生了质的变化和急速发展,使其从单纯的数据通信网络发展成为在全世界范围内共享和发送信息的分布式网络。广义的互联网,由两层组成:以TCP/IP为代表的网络层和以网为网为代表的应用层。国际标准化组织定义了网络7层参考模型,称之为开放系统互连模型(OSI),该模型对计算机网络标准化程度的发展和网络...
2018-10-01 01:01:57
2239
原创 A Docker of LAMP & Wordpress扩展1
A Docker of LAMP & Wordpress扩展1架构逻辑一个nginx调度器,提供缓存、反响代理功能,一方面提升响应速度,另一方面提供负载能力,都是为了减轻服务器压力,提升用户体验感。两个后端服务器,提供httpd功能和php解析功能。两个httpd的默认发布目录都挂在到一个nfs服务器共享目录上。一个nfs服务器,同时提供一个mysql(应该拆分),保证ph...
2018-09-08 01:52:48
1023
原创 查询一个表中如age第N大的段数据
查询一个表中如age第N大的段数据测试表:MariaDB [jinyong]> show tables;+-------------------+| Tables_in_jinyong |+-------------------+| user |+-------------------+1 row in set (0.01 sec)Mar...
2018-09-04 00:36:54
788
原创 QUIC概述
QUIC概述感谢罗成罗成。Quic 全称 quick udp internet connection,即:快速UDP互联网链接。是由Google提出的基于UDP协议的多路并发传输协议。QUIC诞生背景从上世纪90年代互联网开始兴起,大部分互联网流量传输都使用经典的一些协议:使用IPV4进行路由、使用TCP进行链接层的流量控制、使用SSL/TLS保证传输安全、使用DNS进行域名解析、...
2018-09-02 19:55:16
5705
原创 Linux下查看系统负载部分命令
系统负载命令关于查看系统负载,首先得明白什么是系统,自上而下系统层次是什么样子的?查询的时候才能有的放矢。查看系统负载都要看什么?下面仅仅是部分介绍 load averages:系统平均负载 cpu usage:cpu利用率 kernnel errors:内核错误 cpu balance:cpu均摊情况 precess usage:进程使用情况...
2018-08-25 16:55:52
5593
原创 A docker of LAMP & WordPress优化——缓存
A docker of LAMP & WordPress优化项目描述:项目描述:Docker基于LXC实现了把lamp+wordpress架构封装到一个完整的文件系统中,docker提供了所需的一切代码,运行环境等。由于docker使用独立于主机的文件系统,可以确保架构在不同的主机环境中仍然保持运行环境不变,这样为整个架构服务的迁移提供了极大的便捷性。WordPress是使用P...
2018-08-25 03:42:08
690
原创 nginx配置文件简单概述
nginx配置文件概述更多配置点击这里nginx配置文件分为四大模块: 全局变量模块 event事件模块 http模块 mail邮件模块 event模块events { worker_connections 2000; # use [ kqueue | rtsig | epoll | /dev/poll | select | pol...
2018-08-24 15:45:57
306
原创 nginx配置缓存的优化——有无缓存对服务器的影响
nginx配置缓存的优化前提:nginx前端服务器:172.25.254.34后端lamp平台服务器:172.25.254.11nginx反响代理修改配置nginx主配置文件,使得172.25.254.11成为解析php动态脚本的app server,并分别尝试添加缓存和去掉缓存后对服务器性能的影响。主要用到的主配置文件信息(172.25.254.34):http {...
2018-08-22 13:25:25
3154
原创 从499状态码,到如何使用shell脚本找一个文件中特定的字符串
记录一次面试引发的一个小问题一次面试,面试官问:你知道http状态码中499是什么吗?一脸懵逼。面试官很客气的说可以去nginx源码里面找到。面试官都这么说了,再去百度找,就太对不起自己这个准运维人员的身份了。好了话不多说,去源码找吧。进了源码我就二脸懵逼了。[root@localhost src]# pwd/linux/nginx/nginx-1.12.2/src[root@l...
2018-08-21 23:51:47
455
原创 关于httpd服务器中大量的time_wait状态
关于httpd服务器中大量的time_wait状态前提:使用客户端(172.25.254.11)访问(ab压力测试)服务器端(172.25.254.200),在服务器上发现了大量的TIME_WAIT状态。客户端ab测试:[root@localhost linux]# ab -n 10000 -c 100 http://172.25.254.200/index.html服务器端...
2018-08-18 13:13:57
2436
1
原创 使用C语言实现ll命令
使用C语言实现ll命令先来看看执行ll命令后有什么:[root@localhost day16]# lltotal 44drwxrwxrwx. 3 root root 4096 May 5 11:38 after-rwxr-xr-x 1 root root 13072 Aug 16 15:45 a.outdrwxrwxrwx. 3 root root 4096 May ...
2018-08-16 21:14:55
5481
3
原创 httpd虚拟主机服务简单学习
httpd虚拟主机为什么要使用虚拟主机?虚拟主机指的是在单一的物理主机上运行多个"网站".虚拟主机主要有三种构建方式,通过虚拟主机可以让不同的站点运行在同一个服务器上而不会被用户明显的感知到.Apache是第一个支持基于IP的虚拟主机服务虚拟主机三种方式: 基于IP地址 基于端口号 基于主机名 很重要的一点:如果开启虚拟主机!中心主机应该关闭!具体方法...
2018-08-14 13:45:43
510
原创 awk——awk基础介绍
awkawk基础awk简介awk是被设计用于文本处理,并常被用作数据提取和报告工具的解释性程序设计语言。awk的作者这样描述:awk是一个方便的且富有表现力的程序设计语言,它可以应用于各种各样的计算机和数据处理任务。awk是数据驱动的,即:描述要处理的数据以及找到数据后要做什么。和sed类似,awk的基本功能也是搜索文件中包含某些模式的行。当某行匹配到一个模式时,awk就再该行...
2018-08-02 04:20:33
557
原创 sed简单学习
SEDsed编辑器基础sed是用来解析和转换文本的工具,是简洁的程序设计语言。来自贝尔实验室。sed简介sed是非交互式的面向数据流的编辑器,提供了交互式文本编辑器的自然扩展功能。有助于编写简单的shell脚本,如:替换文本、删除某行、差入新文本等。sed特点: 自动化地编辑一个或多个文件 简化在多个文件中执行相同操作的任务 编写转换程序 模式空间...
2018-08-01 01:55:56
395
原创 Linux中的管道和过滤器
管道和过滤器管道Shell可以将两个或多个程序连接到一起,以使一个程序的输出变成另一个程序的输入,这种方式连接的两个或者多个程序就形成了管道。管道通常用于执行一些复杂的数据处理操作。这些命令之间使用控制操作符(管道符)"|"连接。管道的语法格式:command1 | command2command1 | command2 [ commandN... ]操作符"|"与">"的区别">"...
2018-07-15 16:10:40
5445
1
原创 nginx启动脚本浅析
nginx启动脚本浅析编写nginx脚本整理一下逻辑思路,要编写一个nginx启动脚本,都需要什么?nginx服务的操作需要nginx服务的支持,即服务器上必须编译安装了nginx服务nginx启动脚本说白了就是方便对nginx服务启动、关闭、状态查询、热修改的一个脚本文件依赖的几个文件nginx脚本依赖于nginx的二进制系统程序文件:/usr/sbin/nginx(这个在源码编译的时候自定义位...
2018-07-14 02:12:39
3210
1
原创 关于crontab自动执行shell脚本出现的不能执行命令问题
上一篇博客写了一个shell脚本,用来测试计算机硬件信息、cpu、内存等信息。今天把它扔进crontab里面想定期执行,并保存数据。结果出现了问题。。。先看shell脚本:#!/bin/bash#定义变量NOW,值为当前日期。格式:yyyymmddNOW=`date +%Y-%m-%d-%H:%M:%S`#定义变量OUTPUTOUTPUT=/mnt/log/$NOW.txtex...
2018-07-12 18:53:27
9220
原创 Shell重定向
Shell重定向输入和输出在Linux中一切皆文件,即使是硬件,在Linux系统中同样的表示为文件。有三个标准的POSIX字符,被成为文件描述符。每个Linux命令都会使用到0、1、2三个文件描述符与用户或其他系统程序进行交互。0——标准输入——键盘:从文件(默认是键盘)读取输入1——标准输出——屏幕:发送数据到文件(默认为屏幕)2——标准错误——屏幕:发送所有错误信息到一个文件(默认为屏幕)标准...
2018-07-11 02:03:16
841
原创 脚本输入处理——获得用户输入
脚本输入处理获得用户输入在一个交互式的Shell脚本中,一般使用read命令来获取用户输入。基本的读取read命令比较常用的语法格式:read [-p prompt] [var1 var2...]-p选项用于在尝试读取任何输入之前,显示提示信息(prompt)的内容到标准输出。一般情况用来提示用户输入哪些输入信息。read命令会每次从标准输入读取一行的内容(-u可以指定文件描述符),将第一个单词...
2018-07-09 16:23:07
3796
原创 脚本输入处理——选项处理
脚本输入处理选项处理如果一个脚本有多个命令行参数,调用这个脚本时所指定的命令行参数顺序不固定,那么即是参数的个数正确,脚本也不一定可以正常运行。如:一个脚本(process.sh),可以接受三个参数:配置文件、输入数据的文件和脚本的数据文件(default.conf、input.txt、output.txt)。此脚本读取配置文件内容,处理input.txt文件,然后将输出写入到output.txt...
2018-07-09 16:21:31
1903
原创 脚本输入处理——参数处理
脚本输入处理参数处理通常情况下,为了让Shell脚本更灵活、应用更广泛、具备多种不同行为,会在编写脚本时接收一些命令行参数,通过命令行参数指定脚本中变量的值使得脚本执行不同的操作。case语句处理命令行参数当脚本只接收一个命令行参数,并且根据参数的不同采取不同行为时,通常使用case语句来处理。编写nginx启动脚本编写脚本文件nginx.sh。(前提时源码安装了nginx服务,源码安装nginx...
2018-07-08 23:35:43
1120
原创 Bash正则表达式比较操作符
Bash正则表达式比较操作符从Bash3.0开始,Bash有了内部的正则表达式比较操作符,使用"=~"表示。大部分使用grep或者sed命令的正则表达式编写脚本的方法可以由"=~"操作符的Bash表达式处理。如果一个表达式左边的变量匹配到右边的正则表达式,则返回状态码0,否则返回1。如:检查一个数是否为十进制[root@rs1 test2]# cat digit.sh #!/bin/bash...
2018-07-07 02:58:18
4846
原创 我就是认真:shell函数学习
shell函数函数的定义当需要重复使用一个脚本中的功能,或者脚本达到一定程度时,使用函数就比较方便。定义函数语法:#函数名function_name() { #函数体,在函数中执行的命令行 commands... #参数返回,return可有可无,如果没有,则返回函数最后一条命令运行结果作为返回值;如果有,则return后跟数值n(0~255) [return ...
2018-07-07 00:49:40
216
原创 Shell中select循环语句实例
select循环语句实例Bash提供select循环,语法如下:select VAR in LISTdo command1 command2 ... commandNdoneselect循环语句由如下特点:select语句使用Bash内部变量PS3的值作为它的提示符信息。打印到屏幕上的列表LIST中的每一项都会加上一个数字编号。当用户输入的数字和某一个数字编号一致时,列表中响应的项即被赋予...
2018-07-06 04:07:42
1367
原创 Bash中的位置参数和特殊参数
Bash中的位置参数和特殊参数位置参数Bash中的位置参数是由除0意外的一个或多个数字表示的参数。位置参数是当Shell或Shell的函数被引用时由Shell或Shell函数的参数赋值,并且可以使用Bash的内部命令set来重新赋值。位置参数N可以被引用为$N,当N>=10时,需要用{}括起来。如:[root@rs1 test]# set 1 2 3 four five six 7 8 9 ...
2018-07-06 02:12:00
3127
原创 Mysql基准测试
Mysql基准测试为什么要基准测试基准测试是唯一方便有效的、可以学习系统在给丁的工作负载下会发生什么的方法。一个完善的基准测试可以:验证基于系统的一些假设,确认该假设是否符合实际情况重现一些异常行为,有备无患的得到解决方法获取当前系统性能和运行情况,为系统优化提供先决条件模拟比当前系统更高的负载,找到系统的扩展瓶颈规划未来业务增长,包括硬件、网络容量、服务类型、及其他相关资源测试应用使用可变环境的...
2018-07-05 15:35:24
1432
原创 Linux处理求两个文件交集、差集
两个文件交集、差集两个文件,如:[root@localhost grep]# cat 1.txtabcadaabbaa[root@localhost grep]# cat 2/txtabcbbfsx分析,文件1.txt和文件2.txt:1.txt - 2.txt(a) d aa (aa)2.txt - 1.txtfsx1.txt 交 2.txta b c bbcomm...
2018-06-28 08:32:15
1997
原创 配置nginx反向代理,实现动态静态页面分离
配置nginx反向代理,实现动态静态页面分离实例:nginx代理服务器(缓存服务器):172.25.254.19php处理app:172.25.254.20 (可以添加多台php app server,配置相同)静态页面处理:172.25.254.18 (可以添加多台静态页面sercver,配置相同)配置php app下载php-5.6.35.tar.bz2安装包,进行源码编译[root@php ...
2018-06-19 01:12:29
5711
原创 我就是认真:nginx总结
关于web的基础概念http服务是一个标准的C/S架构服务,客户端请求,服务端响应。一个完整的http架构包括:Client:User Agent、Browser、AB命令等压力测试工具(http request)Server:Web Server(http response)Web Object:web resource(URL)css javascript images htmlASCII:h...
2018-06-18 00:02:27
1331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅