自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 shell ——数组

shell数组用括号来表示,元素用空格分割开。给一个简单数组例子/bin/bash数字下标也可以定义数组,但非特定或强调元素位置时不建议使用,容易混淆和冗余。

2023-12-27 18:04:56 409

原创 shell——参数的传递

很多时候shell脚本的执行时需要向其传递参数,脚本执行中获取参数格式是 $n,n为自然数,从1开始,几就是第几个参数。#!/bin/bash#author:atong#version:test1echo "我们来看例子!!"echo "$0"echo "第一个参数:$1"echo "第二个参数:$2"echo "第三个参数:$3"$0就是打印shell脚本文件名输出结果# sh parameter_passing.sh w e r我们来看例子!!parame

2023-12-22 15:09:33 427

原创 shell——变量之字符串的截取

我们可以这样理解:*是截取时删除的内容,从左删除时,删除内容是符号的左边,所以*在字符左边,不可能说从左边第一个字符开始删除,删除的是右边的内容;我们可以看到#号出现时,*在截取位置字符的右边,不生效;就是从字符串右边开始删除到右起最后一个/号结束,输出结果就是保留未删除左边字符。就是从字符串右边开始删除到右起第一个/号结束,输出结果就是保留未删除左边字符。同理,从右删除时,删除的内容是从右第一个字符开始,不可能删除的是左边的内容。就是从字符串左边开始删除到第一个/号结束,输出结果就是保留未删除右边字符。

2023-12-21 11:25:42 407

原创 shell——变量

bin/bashxiaowang在shell中用括号来表示数组,数组元素用空格隔开。也可以换行v1v2v3v4可以单独定义数组的各个分量可以不使用连续的下标,下标范围无限制。

2023-12-20 17:38:28 886

原创 shell——从头学起

前言。

2023-12-18 18:03:28 834

原创 SSH远程连接及报错解决

这是Linux重装或openssh-server重装引起的,ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免受到DNS Hijack之类的攻击。在hostB上也执行密钥生成,主要是生成.ssh/的目录,服务端才能够将公钥拷贝过去。在hostA上ssh hostB通了就成功。一直回车,再远程拷贝至hostB。一般要更改权限,只允许属主读写。

2023-11-30 10:24:47 657

原创 给已有分区进行扩容

挂载点/home/d5000/heilongjiang已经从4.9GB扩为25GB。我们需要将/home/d5000/heilongjiang挂载的磁盘进行扩容。1.打开虚拟机设置,点击添加,一直下一步,设置所需磁盘空间(我用的20GB)分区挂载的磁盘剩余空间不足时,需要添加磁盘进行扩容。n+p+回车(默认1个)+回车(默认所有空间)+w。6.扩展kylinsec利用新的所有磁盘空间。2.fdisk -l展示磁盘挂载情况。/dev/sdb就是刚添加的磁盘。5.向卷组添加物理卷。

2023-11-14 17:39:10 87

原创 shell脚本练习十

第一个参数为文件下载链接,第二个参数为目录,即下载后保存的位置,需要考虑目录不存在的情况,脚本需要提示用户是否创建目录。可以用命令md5sum来查看md5值。判断是否下载成功就是获取md5值。

2023-10-26 22:43:02 45

原创 shell脚本练习九

3)正常时echo正常,不正常时echo不正常。1)可以将访问的站点以参数的形式提供。写一个监控脚本,监控访问是否正常。2)状态码为2xx或3xx为正常。

2023-10-25 22:41:37 58

原创 shell脚本练习八

执行后打印一行“please input a number:”用户输入数值后,打印出该数值,然后再次要求用户输入数值。wc -c计算字符串长度,回车也算一个字符。输入一个数字,然后运行对应的命令。书写不难,主要是回顾case用法。输入相关数字可以运行相应命令。直到用户输入“end”停止。

2023-10-24 23:09:37 38

原创 shell脚本练习七

有一台服务器作为web应用,有一个目录(/root/data/web/attachment)不定时地会被上传新的文件,但不确定上传时间。脚本检测,使用find命令查找5分钟内有过更新地文件,若有更新,输出,反之不输出。[-s file]表示文件存在且内容不为空,条件成立。每五分钟检测一次,创一个计划任务,每五分钟执行一次。故,可以把输出结果行数作为比较对象,看它是否大于0。所以我们每五分钟 做一次检测看是否有新文件生成。总的来说脚本并不难,就是判断文件状态。find -mmin以分钟单位查找。

2023-10-18 23:01:35 32

原创 kubernetes运维故障排查笔记——Pod篇

5.2检查pod的描述文件(YAML或JSON),确保各项字段(镜像名称、资源请求、端口等)配置正确。5.3如果pod需要特定类型的节点(如GPU节点),确认集群中是否有符合条件的节点可用。11.2确认pod所属的service是否已经创建,并且与pod使用的端口和协议匹配。10.3检查容器的资源使用情况是否超过了pod的资源限制,尤其是内存限制。4.3检查所有pod所需的标签和注释及节点的标签和注释,判断是否匹配。1.1查看该pod状态信息,检查容器的状态和事件,判断是否出现问题。

2023-10-18 19:47:57 753

原创 shell脚本练习六

4.系统状态保存到/opt/logs/下面,保留7天,文件名建议带有`date F`后缀。获得有关进程、虚存、页面交换空间及 CPU活动的信息,每一秒取一次,取十次。写一个监控脚本,监控系统负载,系统负载超过10,需要记录系统状态信息。1.系统负载命令uptime查看,过去一分钟的平均负载。2.系统状态使用:top、vmstat、ss。3.要求每个20s监控一次。显示所有socket连接。

2023-10-17 23:21:31 27

原创 shell脚本练习五

目录下/root/data/att,该目录下有一百个子目录,如/root/data/att/sub_dir_1。由于data目录所在磁盘块满了,所以要将老文件(一年以前的)挪到另外一个目录/root/data1/att下。再深入一层为日期命名的目录,如/root/data/att/sub_dir_1/2023-10-15。要求/root/data/att所有目录都要做此操作,脚本每天10:00执行一次,无需考虑任务计划。要确保老文件成功挪到/root/data1/att下之后才能做软链接,需要有日志。

2023-10-15 23:45:45 37

原创 shell脚本练习四

总之,就是遍历文件和目录,判断文件或目录做出相应命令操作,3)文件和目录所有者为user_01,所属组为root。不要直接该权限,要有判断过程!如果不满足,改成要求的权限。1)所有文件权限为644。2)所有目录权限为755。

2023-10-15 00:30:17 31

原创 shell脚本练习三

(可以遍历所有挂在点,然后新建一个测试文件,再删除测试文件,若可以正常新建和删除,说明分区没问题。检测脚本,检测本机所有磁盘分区读写是否都正常。在挂在点创建文件再删除文件过程无误则正常。

2023-10-13 23:04:37 32

原创 shell脚本练习2

mkpasswd生成随机字符串,-l指定长度,-s指定特殊字符串个数,-c指定小写字母个数,-C指定大写字母个数,-d指定数字个数,可以根据题意使用。expect是一种脚本语言,它能够代替人工实现与终端的交互,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。创建个用户10,并给他们设置随机密码,密码记录到一个文件里,文件名userinfo.txt。seq 开始数字 步长 结束数字(默认步长为1,可以从大到小即步长 为负数)seq生成序列,seq 开始数字 结束数字。

2023-10-11 20:55:34 39

原创 shell脚本练习1

遍历某目录(本题创建的是~/data)下的txt文件,将这些文件做一个备份,备份的文件名增加一个日期后缀,如将w1.txt备份为w1.txt_20231011。结合我们常用的Linux命令理解很容易,查找文件find,拷贝文件cp,$+定义的变量值进行拼凑。执行脚本前,一般先进行权限修改。前几天面试,有shell脚本要求,很久没复习到了,今天开始练习。在练习的时候我们可以加-n检测语法是否出现错误。我们也可以看脚本执行过程。

2023-10-11 20:26:25 103

原创 坚持每天一个python小练习四

给定两个字符串,编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。输如:st="abc",st2="bca",输出true。st="abc",st2="adc",输出false。找出列表中最长的单词。

2023-10-06 23:09:29 76

原创 坚持每天一个python小练习三

这里我用到正则匹配,我们也可以直接遍历中间的数字进行替换。输入一行字符分别统计出中英文字母、空格、数字的个数。从键盘输入一个字符串,输出该字符串的所有排列组合。将gs中的电话替换为1*****这种形式。例:输入ab -->ab ba。

2023-10-05 17:42:43 37

原创 坚持每天一个python小练习二

给定两个list A和B,找出相同元素和不同元素。读取文件成绩计算最高分和最低分。

2023-10-04 19:49:08 23

原创 坚持每天一个python小练习

两个列表[1,5,7,9]和[2,2,6,8]合并为[1,2,2,5,6,7,8,9][[1,2],[3,4],[5,6]]用一行代码展开该列表。得到[1,2,3,4,5,6]

2023-10-04 19:24:08 19

原创 Linux下Python3安装时出现的报错

在将python3安装包下载到目录中,解压后进入到python文件目录下,执行配置安装路径。make&&make install编译后进行软链接可能忘记已经添加过其它出现报错。明显编译环境出错,下载安装GCC。成功后再进行配置安装路径。没关系,删了再链接就可以。

2023-09-21 16:42:33 471

原创 Jenkins安装时的报错解决

如果常规镜像源或者依赖出现问题,镜像拉取失败,考虑清空缓存,更换网络源,重新拉取依赖。当出现类似报错时,一般时镜像源中签发证书过期,重新添加证书及Jenkins镜像源。完成后yum install jenkins即可。添加Jenkins镜像源。

2023-09-20 11:01:04 708

原创 sql语句练习案例

insert into student values (null, '黛绮丝', '2000100101'),(null, '谢逊', '2000100102'),(null, '殷天正', '2000100103'),(null, '韦一笑', '2000100104');INSERT INTO dept (id, name) VALUES (1, '研发部'), (2, '市场部'),(3, '财务部'), (4, '销售部'), (5, '总经办'), (6, '人事部');

2023-07-20 16:41:51 205

原创 rsync

其中各变量取值一定要注意,路径、模块也要对应。runtime在家目录下创建(根据脚本路径决定),同步数据后,runtime在服务器中/backup查看(也需要根据服务端配置文件中路径决定)。一般是客户端把数据和文件推送到服务端,所以服务端配置rsync。我们就用之前配置的服务端,若有其它需要,可按需求进行修改。客户端指定目录推送到server端。创建数据备份储存目录,并修改属主。每隔7天客户端往服务端做增量备份。设置认证文件(即密码)

2023-07-17 20:49:12 92 1

原创 Linux三剑客之AWK(1)

awk是一个维护和处理文本数据文件的强大语言。在处理有一定格式的数据时,即每行数据包含多个以分界符分隔的字段时,尤其有用。awk也可以没有输入文件,那不是必须的。

2023-07-06 17:29:14 58 1

原创 Linux三剑客之sed(二)

使用数字标志可以指定匹配的字符串出现的次序。只有第n此出现才会触发替换。默认情况下,sed只会替换每行中第一次出现的字符串。如果想替换每行所有的匹配的字符串,就需要g。sed '地址范围 | 模式范围 s/需替换字符串/替换字符串/选项' file。主要起到执行替换的命令是s,原始文件依然不会被修改,如需修改原始文件配合使用w。该标志可以将模式空间中的任何内容当作shell命令执行,并将结果返回到模式空间。当然,这种格式明显很难看,所以sed命令的分解符还有|、^、@或!当完成替换操作后,打印替换的行。

2023-07-05 17:45:06 70 1

原创 Linux三剑客之sed(一)

sed是每次从input-file中读取一行记录,并在该记录上执行sed-commands,首先从input-file中读取第一行,然后执行所有的sed-commands;通常使用p时,还需要使用-n来屏蔽sed的默认输出,否则当执行命令p时,每行记录会输出两次。顺序:read-execute-print-repeat(读取-执行-打印-重复),简称REPR。如果开始的四行中没有匹配到Jason,那么会打印第四行以后匹配到Jason的内容。读取一行到模式空间(sed内部的一个临时缓存,存放读取到的内容)

2023-06-21 16:20:30 319

原创 防火墙管理之firewalld

例如,要分离内部网络和互联网的接口,你可以在Internet区域上允许DHCP,但在external区域仅允许HTTP和SSH。为正常使用firewalld服务和相关工具去管理防火墙,必须启动firewalld服务,关闭以前旧的防火墙相关的服务。区域就是firewalld预先准备了几套防火墙策略集合,用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。DMZ区域:非军事化区域,作为非信任区域与信任区域之间的缓冲区。Trust区域:可信任区域,主要用于连接局域网内部网络。

2023-06-08 18:47:44 378

原创 防火墙管理之iptables

iptables是配置netfilter过滤功能的用户空间工具。netfilter才是防火墙真正的安全框架,netfilter位于内核空间。我们可以理解iptables为一种命令行工具。iptables处理数据包的定义方法有,放行(accept)、拒绝(reject)、丢弃(drop)等。netfilter才是真正的防火墙,它是内核的一部分,那它要起作用,就需要在内核中设置关卡,所有进出报文都要通过这些关卡,经过检查,符合放行条件的才能放行,反之阻止。

2023-06-02 21:18:16 1114

原创 Linux定时任务<at>

Linux中我们有类似于闹钟的需求。如我们需要在凌晨1点将文件上传到服务器,或者在晚上10点确定系统状态等,但管理员需要下班休息,且需要人工操作,效率太低。at命令就是为此需求而生。at命令,可以在特定时间自动完成设定的任务,也可以实现自动化,方便快捷。

2023-05-13 15:04:37 1359

原创 LVM逻辑卷管理

LVM是在硬盘上建立一个逻辑层,这个逻辑层让多个硬盘或分区看起来像一块逻辑硬盘,然后将这块逻辑硬盘分成逻辑卷之后使用,从而大大提高了分区的灵活性。将卷组分成多个可以使用的分区,叫做逻辑卷(LV)。硬盘sdc已经没有其它空闲分区,添加新的硬盘sdd,我们需要将sdd中的分区添加到卷组中以扩展。卷组就已经可以动态地调整大小了,可以把物理分区加入卷组,也可以把物理分区从卷组中删除。4.把卷组再划分为逻辑卷(LV),逻辑卷也可以直接调整大小。2.把物理分区建立为物理卷(PV),也可以直接把整块硬盘都建立为物理卷;

2023-05-11 17:36:17 227

原创 磁盘相关知识

1)易于管理和使用,若把磁盘分为sda1,sda2,sda3,sda4盘,我们假设sda1为系统盘,其他的比如办公、软件盘,这样我们要重新分哪个区就直接在对应的盘分就可以了,不需要整块进行分区。2)有利于数据的安全,通过分区可以降低数据损失的风险。硬盘中的主分区数目只有4个,因此主分区和扩展分区的序号也就限制在1~4,扩展分区再分为逻辑分区,逻辑分区的序号始终从5开始。扩展分区:扩展分区可以被继续划分为多个逻辑分区,逻辑分区是可以进行格式化的。5:分区的数序号,以数字表示,1,2,3.......

2023-04-22 16:44:41 120

原创 源码包管理

软件的源代码,即软件原始数据,任何人都可以通过源代码查看该软件的设计架构和实现方法,但是软件源代码无法在计算机中直接运行安装,需要将源代码通过编译转为计算机可识别的机器语言,然后才能安装。./configure软件配置与检查,进入到pcre2-10.37,进行./configure,再make编译,make install安装,过程可能过长,耐心等待。再make,make install,过程不报错,安装成功,安装过程中,如果出现“error”且安装过程停止,表示安装失败;启动/关闭apache,

2023-04-21 16:42:05 324

原创 YUM包管理

yum在服务器端存有所有的RPM包,并将各个包之间的依赖关系记录在文件中,当管理员使用yum安装RPM包时,yum会先从服务器端下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的RPM包进行安装。源码包和RPM二进制包安装软件,两种方法比较繁琐,需要手动解决包之间具有依赖性的问题,尤其是库文件依赖,需要自行在。一般系统都会安装有yum,若无,就使用rpm -ivh yum包全名 进行安装。在无法联网的情况下,yum可以考虑用本地光盘或安装镜像文件作为yum源。上查找相关RPM包。

2023-04-14 18:50:08 123

原创 RPM包管理

1.RPM(RedHat Package Manager)一种通过资料库管理的方式将所需的软件安装到主机上的管理程序。2.RPM包的特点:1)实现已经编译好2)安装方便3)安装过程要求环境一致4)反安装时要从上层开始3.RPM包命名一般格式:包名-版本号-发布次数-发行商-Linux平台-适合的硬件平台-包扩展名。

2023-04-14 16:10:09 365

原创 Linux压缩包管理(打包和压缩)

bzip2同gzip类似,只能对文件进行压缩(或解压缩),对于目录只能压缩(解压缩)该目录及子目录下的所有文件。gzip只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目录中的文件。-k:在解压或解压缩任务后会删除原始文件,保留原文件,就使用该选项。-r:递归压缩目录,即将指定目录下的文件即子目录全部压缩;-number:指定压缩等级,-1最低,-9最高,默认-6。tar -zcvf 打包压缩为".tar.gzip"文件。-v:显示详细压缩过程,一般不单独使用;-m:将文件压缩后,删除原始文件;

2023-04-13 20:06:00 525

原创 Linux特殊权限及ACL(3)

root用户默认是0022(----w--w-),普通用户默认是0002(-------w-)(第一个数字代表特殊权限,SUID、SGID、SBIT,后三位才是一般权限)。chattr [+-=] [属性] 文件或目录名,+表示添加属性,-表示移除属性,=表示设定属性。a:只能在文件中增加数据,不能删除和修改数据,对目录只允许在目录中建立和修改文件,不允许删除文件;(-rw-rw-rw-)-(-----w--w-)=(-rw-r--r--),即新建文件初始权限。在设置了SGID权限的目录下建立文件时,

2023-04-12 20:15:27 845

原创 Linux文件系统及相关命令

文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:“No such file or directory”Linux中文件是一个任意长度的字节序列,Linux中文件可以包含任意信息,如ASCLL码,二进制文件和其它类型的文件都是不会加以区分的。对文件内容进行修改,会影响所有文件名,但是删除一个文件名,不影响另一个文件访问,这就是硬链链接。硬链接:一个文件可以有多个有效的路径名,是文件的另一个入口,当一个文件有多个硬链接时,只有将所有的硬链接文件和源文件删除,才会彻底删除源文件。

2023-04-07 19:50:19 143

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除