매일, 매주, 매월 컴퓨터 사용량을 추적하시겠습니까?

매일, 매주, 매월 컴퓨터 사용량을 추적하시겠습니까?

저는 백그라운드에서 실행되어 컴퓨터 사용량(시간 단위)을 추적하고 일일, 주간 및 월간 시간 범위에 대한 간단한 보고서를 제공하는 간단한 프로그램을 찾고 있습니다. 내 환경:

  • 페도라 데스크탑
  • Xfce 환경

내가 정확히 무엇을 했는지 추적하는 데는 필요하지 않습니다. 일반적인 가동 시간을 추적하는 것만으로도 충분합니다.

그러나 코딩, 스크립팅 또는 복잡한 명령이 필요하지 않아 보고서 추출이 매우 쉬워야 합니다.

답변1

기본적으로 모든 Linux 컴퓨터는 시작 및 종료 시간과 같은 이벤트를 기록합니다.

Linux가 부팅부터 종료까지 지속되는 시간(대략 컴퓨터 전원이 켜진 시간)을 확인하려면 시스템의 기본 계정(utmp/wtmp)을 사용할 수 있습니다.

다음 쉘 명령을 사용하십시오(일반 사용자로서 루트 권한이 필요하지 않음).

# last reboot
reboot   system boot  5.5.4-1-default  Fri Feb 21 14:07   still running
reboot   system boot  5.5.2-1-default  Thu Feb 20 12:53 - 14:02  (01:08)
(...)

컴퓨터 시작 시간과 기간(끝 부분의 괄호 안에)이 표시됩니다.

이는 컴퓨터가 최대 절전 모드(디스크 또는 RAM에 일시 중단됨)에 들어간 시간을 표시하지 않으므로 더 복잡한 작업이 필요합니다.

지난주 시간 등을 보려면 lastnew --since및 옵션을 --until사용하여 최신 버전의 명령을 사용하면 됩니다.

last --since "`date --date='monday 3 weeks ago' +%Y-%m-%d`" \
     --until "`date --date='monday 2 weeks ago' +%Y-%m-%d`" \
     reboot

지정된 주의 시간(마지막 재부팅)을 제공합니다. 동일한 방법을 몇 달 동안 계속할 수 있습니다. 여기에서는 명령줄을 사용하여 제공합니다.

last --since "`date --date='2 months ago' +%Y-%m-%d`" --until "`date --date='1 month ago' +%Y-%m-%d`" reboot

기본적으로 해당 월의 첫날이 사용됩니다. 이는 귀하가 원하는 것 같습니다.

위의 명령줄은 last다음과 같은 날짜를 사용하여 명령(util-linux에서)을 호출합니다. 2019-12-27이는 명령에서 허용되는 몇 가지 형식 중 하나입니다. 우리는 (GNU coreutils의) 명령을 사용하여 더 인간적이고 읽기 쉬운 형식으로 표시할 날짜를 알려주는 date형식 문자열을 통해 이 형식을 생성합니다 .%Y-%m-%ddate

관련 정보