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
shell——变量之字符串的截取 我们可以这样理解:*是截取时删除的内容,从左删除时,删除内容是符号的左边,所以*在字符左边,不可能说从左边第一个字符开始删除,删除的是右边的内容;我们可以看到#号出现时,*在截取位置字符的右边,不生效;就是从字符串右边开始删除到右起最后一个/号结束,输出结果就是保留未删除左边字符。就是从字符串右边开始删除到右起第一个/号结束,输出结果就是保留未删除左边字符。同理,从右删除时,删除的内容是从右第一个字符开始,不可能删除的是左边的内容。就是从字符串左边开始删除到第一个/号结束,输出结果就是保留未删除右边字符。
SSH远程连接及报错解决 这是Linux重装或openssh-server重装引起的,ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免受到DNS Hijack之类的攻击。在hostB上也执行密钥生成,主要是生成.ssh/的目录,服务端才能够将公钥拷贝过去。在hostA上ssh hostB通了就成功。一直回车,再远程拷贝至hostB。一般要更改权限,只允许属主读写。
给已有分区进行扩容 挂载点/home/d5000/heilongjiang已经从4.9GB扩为25GB。我们需要将/home/d5000/heilongjiang挂载的磁盘进行扩容。1.打开虚拟机设置,点击添加,一直下一步,设置所需磁盘空间(我用的20GB)分区挂载的磁盘剩余空间不足时,需要添加磁盘进行扩容。n+p+回车(默认1个)+回车(默认所有空间)+w。6.扩展kylinsec利用新的所有磁盘空间。2.fdisk -l展示磁盘挂载情况。/dev/sdb就是刚添加的磁盘。5.向卷组添加物理卷。
shell脚本练习十 第一个参数为文件下载链接,第二个参数为目录,即下载后保存的位置,需要考虑目录不存在的情况,脚本需要提示用户是否创建目录。可以用命令md5sum来查看md5值。判断是否下载成功就是获取md5值。
shell脚本练习八 执行后打印一行“please input a number:”用户输入数值后,打印出该数值,然后再次要求用户输入数值。wc -c计算字符串长度,回车也算一个字符。输入一个数字,然后运行对应的命令。书写不难,主要是回顾case用法。输入相关数字可以运行相应命令。直到用户输入“end”停止。
shell脚本练习七 有一台服务器作为web应用,有一个目录(/root/data/web/attachment)不定时地会被上传新的文件,但不确定上传时间。脚本检测,使用find命令查找5分钟内有过更新地文件,若有更新,输出,反之不输出。[-s file]表示文件存在且内容不为空,条件成立。每五分钟检测一次,创一个计划任务,每五分钟执行一次。故,可以把输出结果行数作为比较对象,看它是否大于0。所以我们每五分钟 做一次检测看是否有新文件生成。总的来说脚本并不难,就是判断文件状态。find -mmin以分钟单位查找。
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状态信息,检查容器的状态和事件,判断是否出现问题。
shell脚本练习六 4.系统状态保存到/opt/logs/下面,保留7天,文件名建议带有`date F`后缀。获得有关进程、虚存、页面交换空间及 CPU活动的信息,每一秒取一次,取十次。写一个监控脚本,监控系统负载,系统负载超过10,需要记录系统状态信息。1.系统负载命令uptime查看,过去一分钟的平均负载。2.系统状态使用:top、vmstat、ss。3.要求每个20s监控一次。显示所有socket连接。
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下之后才能做软链接,需要有日志。
shell脚本练习四 总之,就是遍历文件和目录,判断文件或目录做出相应命令操作,3)文件和目录所有者为user_01,所属组为root。不要直接该权限,要有判断过程!如果不满足,改成要求的权限。1)所有文件权限为644。2)所有目录权限为755。
shell脚本练习三 (可以遍历所有挂在点,然后新建一个测试文件,再删除测试文件,若可以正常新建和删除,说明分区没问题。检测脚本,检测本机所有磁盘分区读写是否都正常。在挂在点创建文件再删除文件过程无误则正常。
shell脚本练习2 mkpasswd生成随机字符串,-l指定长度,-s指定特殊字符串个数,-c指定小写字母个数,-C指定大写字母个数,-d指定数字个数,可以根据题意使用。expect是一种脚本语言,它能够代替人工实现与终端的交互,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。创建个用户10,并给他们设置随机密码,密码记录到一个文件里,文件名userinfo.txt。seq 开始数字 步长 结束数字(默认步长为1,可以从大到小即步长 为负数)seq生成序列,seq 开始数字 结束数字。
shell脚本练习1 遍历某目录(本题创建的是~/data)下的txt文件,将这些文件做一个备份,备份的文件名增加一个日期后缀,如将w1.txt备份为w1.txt_20231011。结合我们常用的Linux命令理解很容易,查找文件find,拷贝文件cp,$+定义的变量值进行拼凑。执行脚本前,一般先进行权限修改。前几天面试,有shell脚本要求,很久没复习到了,今天开始练习。在练习的时候我们可以加-n检测语法是否出现错误。我们也可以看脚本执行过程。
坚持每天一个python小练习四 给定两个字符串,编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。输如:st="abc",st2="bca",输出true。st="abc",st2="adc",输出false。找出列表中最长的单词。
坚持每天一个python小练习三 这里我用到正则匹配,我们也可以直接遍历中间的数字进行替换。输入一行字符分别统计出中英文字母、空格、数字的个数。从键盘输入一个字符串,输出该字符串的所有排列组合。将gs中的电话替换为1*****这种形式。例:输入ab -->ab ba。