2008-06-21 13:33:06 +02:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include "common.h"
|
|
|
|
|
|
|
|
int uptime(int argc, char **argv) {
|
|
|
|
FILE *f;
|
|
|
|
float uptime;
|
|
|
|
if(argc > 1) {
|
|
|
|
if(!strcmp(argv[1], "config")) {
|
|
|
|
puts("graph_title Uptime\n"
|
|
|
|
"graph_args --base 1000 -l 0 \n"
|
|
|
|
"graph_vlabel uptime in days\n"
|
|
|
|
"uptime.label uptime\n"
|
|
|
|
"uptime.draw AREA");
|
2013-01-30 12:14:28 +01:00
|
|
|
print_warncrit("uptime");
|
2008-06-21 13:33:06 +02:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
if(!strcmp(argv[1], "autoconf"))
|
|
|
|
return writeyes();
|
|
|
|
}
|
2013-02-05 12:38:12 +01:00
|
|
|
if(!(f=fopen("/proc/uptime", "r")))
|
|
|
|
return fail("cannot open /proc/uptime");
|
2008-06-21 13:33:06 +02:00
|
|
|
if(1 != fscanf(f, "%f", &uptime)) {
|
|
|
|
fclose(f);
|
2013-02-05 12:38:12 +01:00
|
|
|
return fail("cannot read from /proc/uptime");
|
2008-06-21 13:33:06 +02:00
|
|
|
}
|
|
|
|
fclose(f);
|
|
|
|
printf("uptime.value %.2f\n", uptime/86400);
|
|
|
|
return 0;
|
|
|
|
}
|