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

查看系统运行时间与负载,使用uptime命令

$ uptime 
11:23:24 up  2:18,  3 users,  load average: 0.00, 0.01, 0.05
关于uptime命令请参考 http://blog.csdn.net/u011641885/article/details/46638521



查看/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 更多说明,参考 http://blog.csdn.net/u011641885/article/details/46646283


查看/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"



你可能感兴趣的:(取得linux系统运行时间与系统启动时间)