shell脚本-检查一组命令所花费的时间

本文介绍了如何在Linux环境中使用bash脚本和time命令来测量命令执行所需的时间。通过示例,展示了如何计算yum安装httpd命令的耗时,并解释了time命令输出的real、user和sys三个时间指标的含义,分别表示总时间、用户CPU时间和系统CPU时间。

#!/bin/bashstart=$(date +%s)
yum install httpd -y

end=(date+different=(date +%s) different=(date+different=((end - start))echo $differentecho time taken to execute commands is $difference seconds.
本例子是在测试安装http所需要的时间

如果要查看一个命令花费的时间也可以使用time

[root@iZ2ze20j4zsv1q8o9py23wZ ~]# time find . -name ‘a.sh’./a.sh

real 0m0.013s
user 0m0.000s
sys 0m0.002s
其中,
real表示time后的命令实际使用时间(real time www.pfzdf.com),即是从command命令开始执行到运行终止的消耗的总时间。

user表示time后的命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和。

sys表示time后的命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。

备注,通常来说real>user+sys,比说说命令执行会等待IO,等待IO时并没有实际消耗CPU的时间。

### 使用Shell脚本实现OpenStack的一键部署 为了简化OpenStack的安装过程并提高效率,可以编写一个综合性的Shell脚本来完成一键部署。此方法不仅能够减少手动配置的时间成本,还能确保每次部署环境一致性。 #### 准备工作 在执行任何操作之前,需确认目标服务器满足最低硬件需求,并已准备好操作系统镜像文件以及网络连接正常。对于大多数发行版而言,建议采用Ubuntu LTS版本作为基础平台[^1]。 #### 安装依赖包 通过自动化工具如`apt-get`来批量处理所需软件包的下载与安装: ```bash #!/bin/bash sudo apt update && sudo apt upgrade -y sudo apt install -y git python3-pip libssl-dev libffi-dev build-essential \ python3-dev python3-setuptools software-properties-common curl wget vim ``` 上述命令会更新现有程序至最新稳定版,并获取构建OpenStack所必需的基础库和支持组件。 #### 获取DevStack源码 DevStack是一个用于快速搭建测试性质OpenStack云环境的小型框架集合,非常适合用来做开发调试用途。可以通过Git克隆官方仓库到本地机器上: ```bash git clone https://opendev.org/openstack/devstack.git /opt/stack/devstack cd /opt/stack/devstack ``` 这里选择了默认路径存储项目文件夹;当然也可以自定义其他位置保存副本。 #### 配置local.conf文件 创建或编辑位于当前目录下的`local.conf`文档以指定特定参数设置,比如启用某些服务、调整实例规格等特性选项。下面给出了一组基本样例供参考: ```ini [[local|localrc]] ADMIN_PASSWORD=secrete DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=mytoken SERVICE_PASSWORD=$ADMIN_PASSWORD HOST_IP=$(hostname -I | awk '{print $2}') FLOATING_RANGE="192.168.0.224/27" FIXED_RANGE="10.11.12.0/24" FIXED_NETWORK_SIZE=256 disable_service n-net enable_service q-svc q-agt q-dhcp q-l3 q-meta neutron LOGFILE=/opt/stack/logs/stack.sh.log SCREEN_LOGDIR=/opt/stack/logs/ RECLONE=yes ``` 这段配置指定了管理员密码和其他几个重要变量值,同时也启用了Neutron网络管理功能和服务日志记录机制。 #### 执行堆栈启动指令 最后一步就是运行`./stack.sh`脚本触发整个集群初始化流程,在这期间可能会花费较长时间视具体规模而定,请耐心等待直至提示成功消息为止。 ```bash ./stack.sh ``` 当看到如下输出即表示已完成全部准备工作:“This is your host IP address: X.X.X.X”,其中X代表实际分配给宿主机网卡接口对应的公网地址。 #### 后续维护指南 一旦建立起稳定的实验性平台之后,就可以进一步探索更多高级话题了,例如优化性能调优策略、集成第三方插件扩展等功能模块。同时也要注意定期备份数据以防意外情况发生影响业务连续性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值