Это регистрирует вывод '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))'