Как отслеживать время работы компьютера

4131
aisbaa

У меня есть рабочий стол Linux. Я не оставляю его включенным 24/7. Я хотел бы собрать статистику о том, сколько времени компьютер был включен каждый день, например:

2012-08-21: 7:52 2012-08-22: 8:43 2012-08-23: 7:36 

Если компьютер не был включен, запись не требуется.

1

6 ответов на вопрос

3
aliasgar

You can create a script which runs uptime & dumps it into a file.

uptime >> uptime.log

After that setup a cron job for it. To know more about how to create a cron job : Create Cron Job

Or you can sign-up for an online service to do it for you : Uptime Project

да, я думал об этом, может даже заставить скрипт init.d работать в выключенном состоянии. aisbaa 11 лет назад 0
это тоже вариант .. так что я думаю, что я ответил, что вам действительно нужно .. aliasgar 11 лет назад 0
это действительно хороший ответ, но я ищу более сложное решение. Может быть, что-то вроде workrave, в котором есть дополнительная функциональность, за исключением того, что мне не нужно это решение для прерывания печати. aisbaa 11 лет назад 0
2
sepehr

according to last manual page:

The pseudo user reboot logs in each time the system is rebooted. Thus last reboot will show a log of all reboots since the log file was created.

so last column of #last reboot command gives you uptime history:

#last reboot reboot system boot **************** Sat Sep 21 03:31 - 08:27 (1+04:56) reboot system boot **************** Wed Aug 7 07:08 - 08:27 (46+01:19) 
2
Kjetil S.

Это регистрирует вывод 'uptime' каждые пять минут. Эти выходные данные также включают число пользователей, которые в настоящее время вошли в систему и загружают средние значения вашего компьютера за последние 1, 5 и 15 минут:

sudo bash #root mkdir /var/log/uptime crontab -e 

Добавьте эту строку:

*/5 * * * * echo `date +\%Y\%m\%d;uptime` >> /var/log/uptime/uptime.log 2>&1 

И разделить + gzip журнал на еженедельные файлы:

cat <<'EOF'. > /etc/logrotate.d/uptime /var/log/uptime/uptime.log { weekly dateext rotate 99999 compress } EOF 

Затем, по прошествии некоторого времени, просмотрите время работы каждого дня следующим образом:

uplog() { (cd /var/log/uptime/;zcat uptime.log*gz;cat uptime.log) } uplog|cut -c1-8|uniq -c|perl -aple'$_.=" ".("=" x ($F[0]/5))' 

Число 288 (12 * 24) означает, что компьютер работал весь день (хотя перезагрузки менее пяти минут могут остаться незамеченными этим методом).

Или аналогично для каждого месяца, например:

uplog|cut -c1-6|uniq -c|perl -aple'$_.=" ".("=" x ($F[0]/150))' 
1
RedGrittyBrick

There will be datestamped entries in syslog (/var/log/messages*) you can extract this information from.

You could also add K entries to /etc/rc0.d to, for example, to run logger to add a specific syslog record on shutdown. See http://www.debian-administration.org/articles/212 or equivalent for the Linux distribution you are using

$ vim /etc/init.d/uptime $ cat /etc/init.d/uptime # chkconfig: 0 99 1 # description: Record uptime at shutdown. start() { uptime >> /var/log/uptime 2>&1 } case "$1" in start) start ;; *) echo Usage: $0 start ;; esac $ chmod +x /etc/init.d/uptime $ chkconfig --add uptime $ chkconfig --list uptime uptime 0:on 1:off 2:off 3:off 4:off 5:off 6:off $ ls /etc/rc*d/*uptime* /etc/rc0.d/S99uptime /etc/rc3.d/K01uptime /etc/rc6.d/K01uptime /etc/rc1.d/K01uptime /etc/rc4.d/K01uptime /etc/rc2.d/K01uptime /etc/rc5.d/K01uptime $ /etc/rc0.d/S99uptime start $ cat /var/log/uptime 13:15:28 up 135 days, 12:06, 1 user, load average: 0.07, 0.04, 0.01 
0
aisbaa

Я нашел похожий вопрос по stackoverflow https://stackoverflow.com/questions/79490/linux-uptime-history . Кажется, я хочу получить лучший подтянутый, спасибо, ребята, за помощь.

http://podgorny.cz/moin/Uptimed

[Я не думаю, что uptimed поддерживается.] (Http://www.linuxjournal.com/content/tracking-server-uptimes) Nathan Arthur 7 лет назад 1
0
Rfraile

Tuptime can do it when executing "tuptime -e", for example:

# tuptime -e Startup: 1 at 08:55:01 AM 08/04/2015 Uptime: 24 seconds Shutdown: OK at 08:55:25 AM 08/04/2015 Downtime: 5 seconds Startup: 2 at 08:55:31 AM 08/04/2015 Uptime: 20 seconds Shutdown: OK at 08:55:51 AM 08/04/2015 

Depending on your locales, the date format can change.

Regards,

Похожие вопросы