Как отслеживать время работы компьютера
У меня есть рабочий стол Linux. Я не оставляю его включенным 24/7. Я хотел бы собрать статистику о том, сколько времени компьютер был включен каждый день, например:
2012-08-21: 7:52
2012-08-22: 8:43
2012-08-23: 7:36
Если компьютер не был включен, запись не требуется.
7 ответов
Я нашел похожий вопрос по stackoverflow https://stackoverflow.com/questions/79490/linux-uptime-history. Кажется, я хочу, чтобы все было лучше, спасибо, ребята, за помощь.
Вы можете создать скрипт, который запускает uptime и выдает его в файл.
uptime >> uptime.log
После этого установите для него задание cron. Чтобы узнать больше о том, как создать задание cron: Create Cron Job
Или вы можете подписаться на онлайн-сервис, который сделает это за вас: Uptime Project
Это регистрирует вывод '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))'
В соответствии с last
страница справочника:
Псевдопользовательская перезагрузка регистрируется каждый раз при перезагрузке системы. Таким образом, последняя перезагрузка покажет журнал всех перезагрузок с момента создания файла журнала.
так что последний столбец #last reboot
Команда дает вам историю работы:
#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)
В системном журнале будут записи с метками дат (/var/log/messages*), из которых вы можете извлечь эту информацию.
Вы также можете добавить K записей в /etc/rc0.d, например, для запуска logger
добавить определенную запись системного журнала при завершении работы. См. http://www.debian-administration.org/articles/212 или эквивалент для используемого вами дистрибутива Linux.
$ 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
Tuptime может сделать это при выполнении "tuptime -e", например:
# 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
В зависимости от вашего региона формат даты может меняться.
С Уважением,
Journalctl сделает это за вас:
-> % journalctl --list-boots
-40 979a9d6333fa456ca3dd454904423f7d Tue 2021-02-09 18:56:00 UTC—Thu 2021-02-11 23:53:07 UTC
-39 4e1cf6ede2574080a2e767991f9a6f88 Fri 2021-02-12 09:20:30 UTC—Fri 2021-02-12 22:52:42 UTC
-38 c61db5934a314044b2aa89675f3174a4 Sat 2021-02-13 11:20:51 UTC—Sat 2021-02-13 17:43:47 UTC
-37 4c17abec4dab43eea06e1886105c6421 Sat 2021-02-13 18:57:54 UTC—Sat 2021-02-13 18:45:40 UTC
-36 01bb21d727494bdb8d2e0594cdc3bff4 Sat 2021-02-13 18:46:41 UTC—Sun 2021-02-14 00:32:35 UTC
-35 5620703289264409ac6fba815ee3a405 Sun 2021-02-14 12:34:13 UTC—Sun 2021-02-14 14:09:35 UTC
-34 f3bd6be41a1946e196100a0f6814696b Sun 2021-02-14 14:28:39 UTC—Mon 2021-02-15 00:15:46 UTC
-33 2560f26a043d4fa080e113570c024ef3 Mon 2021-02-15 09:13:37 UTC—Tue 2021-02-16 00:40:29 UTC
-32 5ffa0830150f4b0aad5060ebafe0579d Tue 2021-02-16 09:41:46 UTC—Tue 2021-02-16 23:53:54 UTC
-31 a277425897734813bda531603da792a6 Wed 2021-02-17 09:54:17 UTC—Wed 2021-02-17 23:51:29 UTC
-30 d3cffbc7373b45bb8c803d1aacfb4c42 Thu 2021-02-18 08:49:56 UTC—Thu 2021-02-18 23:27:59 UTC
-29 18d8740486ae47c9b8431a8ab9ec1b08 Fri 2021-02-19 09:39:38 UTC—Fri 2021-02-19 21:40:16 UTC
-28 3b96b65f6a4a42bca74f0e0eefcdacc4 Sat 2021-02-20 12:47:30 UTC—Sat 2021-02-20 22:14:05 UTC
-27 d1b067adffd64d89856461c030806800 Sun 2021-02-21 12:10:42 UTC—Mon 2021-02-22 22:10:42 UTC
-26 317279eedab14f5fb58cbd5fa4216be9 Tue 2021-02-23 08:56:50 UTC—Wed 2021-02-24 21:38:19 UTC
-25 fe1960acffef4730b5ae322779ac8f92 Thu 2021-02-25 09:00:05 UTC—Fri 2021-02-26 21:04:27 UTC
-24 fa6888263e0f4573b32efd0b3fe44485 Fri 2021-02-26 21:38:50 UTC—Tue 2021-03-02 12:42:35 UTC
-23 1e30020c8af340b3a8402c39aa961366 Wed 2021-03-03 09:25:07 UTC—Wed 2021-03-03 23:39:48 UTC
-22 4d0a03416e584f7982c8d753c3e33b4c Thu 2021-03-04 09:24:13 UTC—Fri 2021-03-05 22:47:20 UTC
-21 2baef30e20444afc89e3b1c69d9c2953 Sat 2021-03-06 10:02:04 UTC—Sat 2021-03-06 22:49:54 UTC
-20 b6e817adf27247d3a98d6585b7a44504 Sun 2021-03-07 10:05:16 UTC—Mon 2021-03-08 18:15:57 UTC
-19 0a61263956da49deb5c29576dd99442a Mon 2021-03-08 18:16:41 UTC—Mon 2021-03-08 23:30:38 UTC
-18 929a363340a54ab683732a8e29237731 Tue 2021-03-09 09:21:29 UTC—Wed 2021-03-10 16:46:59 UTC
-17 a4c7da289f7541f8a90e71494bcddecb Wed 2021-03-10 16:47:40 UTC—Wed 2021-03-10 23:02:51 UTC
-16 954962cf43b84ff784cc998e580b27bc Thu 2021-03-11 08:59:29 UTC—Sat 2021-03-13 00:50:38 UTC
-15 36ebb83d0db548429266cdda742232b0 Sat 2021-03-13 09:47:20 UTC—Sat 2021-03-13 22:46:45 UTC
-14 606f26d5ae7a4b9fa7c0c633ee3d9392 Sun 2021-03-14 10:36:25 UTC—Wed 2021-03-17 22:52:38 UTC
-13 41abbaa6dc724cb886c814b0930395af Thu 2021-03-18 09:10:48 UTC—Thu 2021-03-18 17:43:26 UTC
-12 261bdcf9ed0a41659250b9cf76d2b21b Thu 2021-03-18 17:44:12 UTC—Thu 2021-03-18 22:22:14 UTC
-11 d74e766768e1484bbf0de082aaf7d996 Fri 2021-03-19 08:51:49 UTC—Sat 2021-03-20 23:36:31 UTC
-10 a9a1a966e3864e919e806e52d1966398 Sun 2021-03-21 10:54:47 UTC—Mon 2021-03-22 22:36:35 UTC
-9 0bcfba4461bd4c71a0a91941f0f4ed97 Mon 2021-03-22 22:38:36 UTC—Mon 2021-03-22 23:13:25 UTC
-8 b8bd5280be624948a50e6fbd7bd9bdae Tue 2021-03-23 08:51:35 UTC—Tue 2021-03-23 22:54:03 UTC
-7 eeefd7f87f974017b00f1fec18f6ab35 Wed 2021-03-24 09:23:47 UTC—Wed 2021-03-24 21:27:10 UTC
-6 5a21602ec42d49129ebaeb00fafdc169 Thu 2021-03-25 09:02:57 UTC—Thu 2021-03-25 23:31:46 UTC
-5 a35d7b829bf14c0a8131eb55737ec180 Fri 2021-03-26 00:11:28 UTC—Fri 2021-03-26 00:11:48 UTC
-4 0200a2ffd26e474db477c18908b68299 Fri 2021-03-26 08:43:22 UTC—Fri 2021-03-26 23:14:12 UTC
-3 5bedcc4337634556aa92f087595328aa Sat 2021-03-27 09:56:44 UTC—Mon 2021-03-29 07:50:43 UTC
-2 e3f09e82362b4644b89be1cb29fa7c7c Mon 2021-03-29 07:51:24 UTC—Tue 2021-03-30 23:09:29 UTC
-1 d868669ccca04ed18d3de0789a18e052 Wed 2021-03-31 07:54:37 UTC—Wed 2021-03-31 20:53:09 UTC
0 e016756d5af94aeeb82a369451d22b26 Thu 2021-04-01 07:45:35 UTC—Thu 2021-04-01 10:10:25 UTC