您的位置:首页 > 运维架构 > Linux

取得linux系统运行时间与系统启动时间

2015-06-26 11:25 621 查看
查看系统运行时间与负载,使用uptime命令

$ uptime
11:23:24 up  2:18,  3 users,  load average: 0.00, 0.01, 0.05
关于uptime命令请参考/article/10904781.html



查看/proc/uptime 文件计算系统启动时间
$ cat /proc/uptime
8565.04 8236.71

第一个数值代表系统总的运行时间,第二个数值则代表系统空闲的时间,都是用秒来表示的。如果系统里第二个数字比第一个数字还要大,则说明你的cpu是多核的,cpu0上闲了一秒, cpu1上闲了两秒,加起就是三秒。。
由此可以得出,使用date命令即可计算出系统启动时间。

date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"

date -d 		//显示指定字符串所描述的时间。
date -d "number second ago" + "%Y-%m-%d %H:%M:%S" //number秒以前的时间,以%Y-%m-%d %H:%M:%S格式显示
关于date -d 更多说明,参考/article/10904783.html

查看/proc/uptime 文件还可以计算系统运行时间

命令如下:
cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'


脚本如下:
#!/bin/bash

SUMTIME=`awk -F. '{print $1}' /proc/uptime`
DAY=`echo $[$SUMTIME / 86400]`
HOUR=`echo $[$SUMTIME % 86400 / 3600]`
MINUTE=`echo $[$SUMTIME % 3600 / 60]`
SECOND=`echo $[$SUMTIME % 60]`

printf "$DAY day $HOUR:$MINUTE:$SECOND\n"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: