Linux下使用Shell Script输出CPU、内存、磁盘占用百分比
监控在日常运维中非常重要,有助于提前发现问题,并及时进行系统优化。通常我们会使用第三方工具来对系统进行监控,但在个别场景下(例如Gravitational Teleport等工具所提供的动态label,可以自动执行Shell命令)使用Shell会更加灵活,只可惜相关资料太少,且大量谬误。本文将整理使用Shell Script输出CPU、内存、磁盘占用百分比的命令,方便读者查阅与使用。
监控在日常运维中非常重要,有助于提前发现问题,并及时进行系统优化。通常我们会使用第三方工具来对系统进行监控,但在个别场景下(例如Gravitational Teleport等工具所提供的动态label,可以自动执行Shell命令)使用Shell会更加灵活,只可惜相关资料太少,且大量谬误。本文将整理使用Shell Script输出CPU、内存、磁盘占用百分比的命令,方便读者查阅与使用。
在前一篇文章中,我简述了CentOS下安装旧版本软件的方法,该文章以
kubeadm
为例完成了安装,但不久后我发现该方法对Docker不奏效,需要额为的操作。因此我撰写这篇补充的文章,专门介绍如何安装旧版本Docker。
由于最近要做关于Kubernetes的一系列漏洞分析,需要安装大量旧版本的Kubernetes,通常安装旧版本软件的方法是直接找到旧版本源码,然后从源码进行构建,但该方案过于复杂,恰好测试环境是CentOS操作系统,那么能不能直接通过CentOS的包管理器yum来安装旧版本软件呢?方法其实很简单。
相信只要在Shell、PHP、Perl等语言中接触过『多行字符串』的人,对Heredoc以及其特征性的『EOF』标识符不会陌生。但关于Heredoc背后一些有意思的玩法,却很少有人接触。这篇文章为大家介绍一下Heredoc的基础操作,历史由来,及其进阶使用。
由于Linux中SIGHUP信号的存在,导致了当终端Detach(退出终端或网络断开)时,从属于终端的进程也被销毁,导致当前所执行任务停止的问题。而且在日常的使用中,也会遇到需要在一个任务执行的过程中,使用同一个Shell来执行其他任务的情况。这篇文章即来盘点在Linux中建立后台任务的若干种姿势。
很多时候我们会遇到需要批量下载一个文件列表中所有文件的场景,例如下载本地镜像源、下载资源集合之类,这个时候我们可能会求助于第三方工具,例如迅雷等。但其实MacOS&Linux自带的wget已经足够强大,能够帮助我们实现这一需求。
在上一篇博客中,我提到了如何利用
docker update
命令为已经运行的Docker容器动态添加新属性,然而这个命令有着很大的局限性,而例如端口映射、IP绑定、卷组挂载等更为常用的操作却没有在该命令中得到支持,因此我们需要使用另外的方法来实现这一目标。
继续阅读 动态为Docker容器添加新属性(续)
由于
docker run
命令又臭又长,经常我们会遇到在键入完成后才发现出现了错误的情况,而在这种情况下,大部分时候我们想到的是执行docker stop
docker rm
再docker run
,但其实不用那么复杂,docker容器动态添加新属性其实很简单。
继续阅读 动态为Docker容器添加新属性
最近因为工作需要,配置了大量的服务器,在批量挂载NFS&SMB的时候,总是会遇到需要修改fstab,然后重启,再等待数分钟(内存自检速度极慢)进入服务器的痛苦过程。但其实和
source
命令类似,有这样一个命令能让我们不重启也能挂载fstab。
继续阅读 不用重启也能让fstab生效的一条命令
最近因为服务器迁移,我将原先的GitLab仓库备份后还原到了新的服务器上,却发现在打开仓库的『集成』页面时出现500错误。