首页
提效神器
常用运维脚本汇总
电子书阅读
推荐
电子书阅读
事物管理
Search
1
安装docker时报错container-selinux >= 2:2.74
208 阅读
2
rsync命令介绍(可替代rm删除巨量文件)
168 阅读
3
kubernetes集群各组件安装过程汇总
163 阅读
4
docker 镜像加速器配置,daemon.json文件详解
148 阅读
5
docker search命令提示i/o timeout的解决方案
106 阅读
运维
自动化运维
数据库
容器与k8s
环境
云计算
脚本
ai
登录
/
注册
Search
标签搜索
命令
nginx
zabbix
Mingrui
累计撰写
113
篇文章
累计收到
8
条评论
首页
栏目
运维
自动化运维
数据库
容器与k8s
环境
云计算
脚本
ai
页面
提效神器
常用运维脚本汇总
电子书阅读
推荐
电子书阅读
事物管理
搜索到
113
篇与
的结果
2024-03-05
docker与k8s命令合集
docker命令格式参数选项说明docker info 查看 docker 的运行信息docker version 查看服务器和客户端版本docker images 查看本机镜像docker search 关键字 从官方仓库查找镜像docker pull img:tag 下载镜像docker push img:tag 上传镜像docker login 登录镜像仓库docker logout 登出镜像仓库docker save img:tag -o backup.tar-o 备份文件名备份镜像为tar包docker load -i backup.tar-i 备份文件名 导入备份的镜像文件docker history img:tag--no-trunc 完整显示查看镜像的制作历史docker inspect object-f 指定具体节点查看对象的详细信息docker tag img:tag name:tag 创建新的镜像名称和标签docker rmi img: tag 删除镜像docker run img:tag cmd-i 交互式,-t 分配终端运行一个新容器 -d 放在后台运行 --rm 临时容器,容器结束后会被删除 -h 主机名,-e 变量 --name 容器名 --restart=[no,always]容器重启策略 --link 容器名:别名添加 hosts 解析 -m, --cpus, --cpuset-cpus设置内存、cpu使用限制及亲和性docker create参数同 docker run创建容器,但不启动运行docker ps-a 显示所有容器查看容器进程 -q 只显示容器id docker rm-f 强制删除删除容器docker start\stop\restart 启动、停止、重启容器docker cp 拷贝文件到容器/从容器拷贝文件docker exec -it -- cmd 进入容器内,启动新进程docker attach[ctrl+p, ctrl+q] 退出,不会终止容器进入一个容器的启动程序docker logs 查看容器终端显示信息docker port 查看容器的端口映射信息docker kill--signal=信号名称向容器发送信号docker pause 暂停容器docker unpause 恢复暂停的容器docker update不能超过 --memory-swap 的值,-1表示无限更改容器配置策略(资源限制)docker stats 查看容器对资源的占用情况docker top 查看容器内运行的进程docker diffA 增加、D 删除、C 变化根据镜像排查文件系统变化docker wait 阻塞直到容器停止,返回退出码docker rename c_name n_name 改变容器名称docker export-o 备份文件名备份容器的 / 目录为 tar 文件docker import backup.tar-c 可以指定Dockerfile语法的命令导入文件到空 / 目录,没有任何配置docker commit img:tag 把容器做成镜像docker build-f 可以指定 dockerfile 的文件名称根据Dockerfile打包制作镜像k8skubectl管理命令子命令说明备注help用于查看命令及子命令的帮助信息 cluster-info显示集群的相关配置信息 version查看服务器及客户端的版本信息 api-resources查看当前服务器上所有的资源对象 api-versions查看当前服务器上所有资源对象的版本 config管理当前节点上kubeconfig 的认证信息 run创建Pod资源对象一般用来创建 Pod 模板get查看资源对象的状态信息可选参数: -o 显示格式describe查询资源对象的属性信息 logs查看容器的报错信息可选参数: -c 容器名称exec在某一个容器内执行特定的命令可选参数: -c 容器名称cp在容器和宿主机之间拷贝文件或目录可选参数: -c 容器名称delete删除资源对象可选参数: -f 文件名称create创建资源对象必选参数: -f 文件名称apply(创建/更新)资源对象必选参数: -f 文件名称
2024年03月05日
64 阅读
0 评论
0 点赞
2024-03-04
shell脚本调试技巧
{card-default label=" 使用dos2unix处理外部脚本 " width=""}windows平台开发的代码其换行符和linux下的不一样,使用dos2unix工具格式化一下,可以解决该问题{/card-default}yum -y install dos2unix dos2unix xx.sh{card-default label=" 使用bash命令参数调试 " width=""}sh -nvx xx.sh{/card-default}-n: 不会执行该脚本,仅查询该脚本语法是否有问题,并给出错误提示。-v: 在执行脚本时,先将脚本的内容输出到屏幕上,然后执行脚本,如果有错误,给出错误提示。-x: 将执行的脚本内容及输出打印到屏幕上,常用的参数。# 在脚本的执行过程中输出行号,以便于跟踪。 #实现方法为设置环境变量。 [root@VM-4-6-centos ~]\# set | grep PS[1-5] PS1='[\u@\h \W]\$ ' PS2='> ' PS4='+ ' #PS4默认情况下表示加号。 [root@VM-4-6-centos ~]\# export PS4='+${LINENO}' #此命令即可实现在跟踪过程中显示行号,也可放在脚本中。{card-default label=" 使用set命令调试部分脚本内容 " width=""}通过set -x 命令开启调试功能,通过set +x 关闭调试功能{/card-default}set -n:读命令但不执行set -v:显示读取的所有行set -x:显示所有命令及其参数{callout color="#f0ad4e"}set 命令的最大优点是相比bash -x 可以缩小调试的作用域{/callout}cat xx.sh #!/bin/bash set -x for a in `seq 9` do for b in `seq 9` do [ $a -ge $b ] && echo -en "$a x $b = $(expr $a \* $b)" done set +x #说明:只调试a=1时程序运行过程,当a=2时结束调试过程。 echo " " done{card-default label=" 使用工具进行脚步调试 " width=""}bashdb或者shellcheck{/card-default}yum -y install ShellCheck
2024年03月04日
77 阅读
0 评论
0 点赞
2024-03-04
系统性能分析工具
cputop top -b -n 1 | awk 'NR==3' %Cpu(s): 3.0 us, 0.0 sy, 0.0 ni, 97.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st # us 用户空间占用CPU百分比 # sy 内核空间占用CPU百分比 # ni 用户进程空间内改变过优先级的进程占用CPU百分比 # id 空闲CPU百分比,例如:77.1%id # wa 等待输入输出的CPU时间百分比 # hi CPU服务于硬件中断所耗费的时间总额 # si CPU服务软中断所耗费的时间总额 # st Steal time 虚拟机被hypervisor偷去的CPU时间(如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)htop# 系统默认没有安装该命令,需要先安装 yum -y install htopvmstat类别参数含义说明procs进程r等待执行的任务数展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。 b等待IO的进程数量 memory内存swpd正在使用虚拟的内存大小,单位k free空闲内存大小 buff已用的buff大小,对块设备的读写进行缓冲 cache已用的cache大小,文件系统的cache inact非活跃内存大小,即被标明可回收的内存,区别于free和active当使用-a选项时显示 active活跃的内存大小当使用-a选项时显示swapsi每秒从交换区写入内存的大小(单位:kb/s) so每秒从内存写到交换区的大小 iobi每秒读取的块数(读磁盘)块设备每秒接收的块数量,单位是block,这里的块设备是指系统上所有的磁盘和其他块设备,现在的Linux版本块的大小为1024bytes bo每秒写入的块数(写磁盘)块设备每秒发送的块数量,单位是blocksystemin每秒中断数,包括时钟中断这两个值越大,会看到由内核消耗的cpu时间sy会越多 cs每秒上下文切换数每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目cpuus用户进程执行消耗cpu时间(user time)us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了 sy系统进程消耗cpu时间(system time)sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足 ld空闲时间(包括IO等待时间)一般来说 us+sy+id=100 wa等待IO时间wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。内存free free -h| awk 'NR==2{print "内存大小:"$2"\t已经使用:"$3"\t剩余内存大小:"$4}'topvmstat见上文硬盘dfiotopyum -y install iotop参数描述-o只显示正在产生I/O的进程或线程,运行过程中,可以通过按o随时切换-b非交互式下运行,一般用来记录日志-n设置监控(显示)次数,主要用于非交互式,默认无限-d设置显示的间隔秒数,支持非整数-p只显示指定进程(PID)的信息-u显示指定用户的进程信息-P只显示进程,不显示所有线程-a累积的I/O,显示从iotop启动后每个进程累积的I/O总数,便于诊断问题-k显示使用KB单位-t非交互模式下,加上时间戳-q只在第一次监测时显示列名. 去除头部一些行:这个参数可以设置最多3次来移除头部行:-q列头部只在最初交互显示一次;-qq列头部不显示;-qqq,I/O的总结不显示vmstat见上文网络流量iftopyum -y install iftop点击查看该命令的具体用法 用法示例iftop -i eth0 -nNB -m 10M #-i 指定网卡 #-n 代表主机通过ip显示不走DNS #-N 只显示连接端口号,不显示端口对应的服务名称(不加会显示如ssh这样的服务名称,不便于排查) #-B 指定显示单位为Kb,默认是bit,太小! #-m 设置输出界面中最上面的流量刻度最大值,流量刻度分5个大段显示iptrafyum -y install iptraf iptraf-ng -d eth0网络连接netstat与ss一般用法: ss -ntulp | grep xxx进程pstop一般用法:ps -ef: 显示系统中所有进程的列表,包括其他用户的进程ps -aux: 显示详细的进程信息,包括CPU和内存使用情况等ps -ef | grep <进程名>:查找指定进程名的进程。 ps -ef | grep -v grep | grep <用户>:查找指定用户的进程。 ps -ef --forest:以树形结构显示进程和它们的父进程。 ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head:按内存使用率排序显示前几个进程的信息。
2024年03月04日
56 阅读
0 评论
0 点赞
2024-03-01
vm命令演示(虚拟机)
[root@server1 ~]# man vm NAME vm ‐ virtual machine tool. 语法: vm [选项]... 虚拟机名称... 描述: vm是使用shell编写的虚拟机脚本管理程序, vm支持的选项有:{clone|clonebase|clonemysql|remove|setip}. clone可以基于模板虚拟机克隆新的虚拟机(虚拟机包含2块网卡). clonebase可以基于模板克隆新的虚拟机(虚拟机包含1块网卡). clonemysql可以基于模板克隆新的虚拟机(虚拟机包含mysql相关数据). remove可以删除若干台虚拟机. setip可以通过脚本自动给虚拟机配置IP地址. 案例: 1)克隆一台名称为myvm的虚拟机(包含2块网卡). # vm clone myvm 2)克隆一台包含1块网卡的虚拟机,虚拟机名称为demo. # vm clonebase demo 3)克隆一台msyql虚拟机,虚拟机名称为host22. # vm clonemysql host22 4)删除名称为myvm的虚拟机. # vm remove myvm 5)为名称为demo的虚拟机设置IP地址(IP地址为192.168.88.100). # vm setip demo 192.168.88.100 6)循环批量创建虚拟机(myvm_1,myvm_2,myvm_3,myvm_4,myvm_5). # vm clone myvm{1..5} 7)循环批量删除虚拟机(myvm_1,myvm_2,myvm_3,myvm_4,myvm_5). # vm remove myvm{1..5} 示例# 创建名为node1的虚拟机。 [root@server1 ~]# vm clone node1 Domain node1 started [ OK ] # 创建完成后,虚拟机自动启动。可以通过系统命令查看: [root@server1 ~]# virsh list Id Name State ---------------------------------------------------- 1 node1 running # 为创建的、名为node1的虚拟机配置IP地址:192.168.88.11 [root@server1 ~]# vm setip node1 192.168.88.11 # 登录虚拟机,默认密码为a [root@server1 ~]# ssh 192.168.88.11 root@192.168.88.11's password: # 修改yum配置 [root@localhost ~]# vim /etc/yum.repos.d/local.repo [BaseOS] name=CentOS Linux $releasever - BaseOS baseurl=ftp://192.168.88.240/dvd enabled=1 gpgcheck=1 # 删除名为node1的虚拟机 [root@server1 ~]# vm remove node1 vm node1 delete [ OK ] # 创建2台虚拟机,名称分别为web和db [root@server1 ~]# vm clone web db Domain web started [ OK ] Domain db started [ OK ] # 创建3台虚拟机,名称分别为node1、node2和node3 [root@server1 ~]# vm clone node{1..3} Domain node1 started [ OK ] Domain node2 started [ OK ] Domain node3 started [ OK ] # 删除刚才创建的5台虚拟机 [root@server1 ~]# vm remove web db node{1..3} vm web delete [ OK ] vm db delete [ OK ] vm node1 delete [ OK ] vm node2 delete [ OK ] vm node3 delete [ OK ]
2024年03月01日
56 阅读
0 评论
0 点赞
2024-02-29
分割,合并,排序,去重命令介绍
{mtitle title="cut"/}cut:从文本中提取一段文字并输出cut命令从文件的每一行剪切字节、字符或字段,并将这些字节、字符或字段输出至标准输出。参数选项解释说明-b以字节为单位进行分割-n取消分割多字节字符,与-b选项连用-c以字符为单位进行分割-d自定义分隔符,默认以tab为分隔符-f与选项-d连用,指定显示区域N第N个字节、字符或字段N-从第N个字节、字符或字段开始直至行尾N-M从第N到第M(包含M)个字节、字符或字段-M从第一个到第M(包含M)个字节、字符或字段cut -c 2-10 test.txt cut -nb 2-10 test.txt cut -d : -f 1 /etc/passwd root bin daemon cut -d : -f 3-5 /etc/passwd # 显示第三列到第五列{mtitle title="split"/}split:可以按照指定的行数或者指定的文件大小分割文件。参数解释-b指定分割后文件的最大字节数-l指定分割后文件的最大行数-a指定后缀长度,默认为2位字母-d使用数字后缀split -l 10 a.txt newa #每10行分割一次,分割的文件名以newa开头 split -l 10 -a 3 a.txt new_ #参数-a指定后缀的长度 new-aaa new-aab new-aac split -b 500k -d a.txt newa_ #按文件大小分割文件,500k一个,使用数字后缀。{mtitle title="paste"/}paste:将文件按照行与行进行合并,中间使用tab隔开语法格式:paste [option] [file]说明: 如果file是“-”,表示从标准输入读取内容参数选项:-d: 指定合并的分隔符,默认是tab-s: 每个文件占用一行{mtitle title="sort"/}sort:将输入的文件内容按照指定的规则进行排序,然后将排序结果输出。参数说明-b忽略每行开头存在的空格-n依照数值的大小进行排序-r倒序排列-u去除重复行-t指定分割符-k按指定区间排序sort -n -t. -k3,3 -k4.1,4.3 a.txt ### -n:按照数字排序 -t:按“.”作为分隔符 -k3,3:从第3个字段开始到第3个字段结束排序 -k4.1,4.3:从第4个字段第1个字符开始到第4个字段第3个字符结束排序 .号连接的是字符 ,连接的是字段{mtitle title="uniq"/}uniq:去除重复行参数说明-c去除重复行,并计算每行出现的次数-d只显示重复的行-u只显示唯一的行{callout color="#f0ad4e"}uniq只能对相邻的重复行进行去重操作{/callout}{mtitle title="wc"/}wc:统计文件的行数,单词数或字节数参数说明-c统计字节数-w统计单词数-m统计字符数-l统计行数-L打印最长行的长度
2024年02月29日
62 阅读
0 评论
0 点赞
1
...
19
20
21
...
23