yum 업데이트가 마지막으로 실행 된 시간을 확인하는 방법


12

yum update시스템 에서 마지막 으로 실행 된 시간을 알 수있는 정식 방법이 있습니까?

우리는 자동 업데이트를 실행하는 스테이징 서버를 가지고 있으며, 폴링하지 않으면 한 달에 한 번 정도 프로덕션 서버를 수동으로 업데이트합니다 (중요 업데이트 제외). (수동으로 말하면 이상적으로 모든 업데이트를 수동으로 트리거하려고하지만 다른 문제입니다).

그러나 당신은 바쁘고, 작업은 미끄러집니다. 그래서 우리가 너무 오래 방치하면 우리를 괴롭히는 nagios check를 설정하고 싶습니다.

웹 검색은 그리 멀지 않았습니다. 시스템을 파고 들어 내가 지금까지 찾은 가장 좋은 것은 다음과 같습니다.

grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2

Mar 12그러면 날짜로 변환 할 수 있는 것과 같은 것을 제공 합니다. 날짜가 올해 또는 작년인지에 대한 몇 가지 사소한 합병증이 /var/log/yum.log.1있으며, 로그 로테이션 직후 에 확인 하는 경우 확인해야합니다 . 그러나 그것은 단지 스크립팅 세부 사항입니다.

물론 이것은 일반적인 업데이트가 아닌 단일 패키지의 업데이트로 인해 '속지'될 수 있습니다.

그렇다면 언제 yum update실행 되었는지 알 수있는 더 정식적인 방법이 있습니까?

편집 : 이제 질문에 제시 한 아이디어를 사용하는 Nagios NRPE 플러그인을 작성했습니다. https://github.com/aptivate/check_yum_last_update 에서 가져올 수 있습니다

답변:


20

yum 기록 옵션을 사용하면 과거 거래에서 발생한 일을 볼 수 있습니다. 더 간단하게하기 위해 yum 기록 에서 업데이트 를 grep 할 수 있습니다

# yum  history
Loaded plugins: fastestmirror, refresh-packagekit
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    41 | root <root>              | 2012-04-27 20:17 | Install        |   19   
    40 | root <root>              | 2011-11-20 10:09 | Install        |   10   
    39 | root <root>              | 2011-11-20 08:14 | Install        |    1 E<
    38 | root <root>              | 2011-11-19 15:46 | Update         |    1 

1
사용중인 yum 버전은 무엇입니까? history명령을 사용할 수 없는 것 같습니다 . (우리는 여전히 대부분 CentOS 5를 사용하고 있습니다). 실제로 방금 시도한 CentOS 6에는 있습니다. 그러나 그것은 우리의 목적에 충분히 보편적이지는 않지만 다른 사람들에게는 유용하게 보입니다.
Hamish Downer

1
예, 이것은 yum 버전 3.2.29의 centos 6.x에 있습니다. 감사합니다
Chakri

1
설치와 업데이트가 조합 된 경우 작업 열에 I, Ugrep을 약간 더 복잡하게 만듭니다. 업데이트 된 패키지가 새 패키지에 종속되어 새 패키지가 설치되는 경우 발생할 수 있습니다.
Hamish Downer

때로는 다른 것을 설치하는 동안 업데이트가 발생하기 때문에 업데이트를 원할 경우 다음과 같이 grep을 통해 출력을 전달할 수 있습니다. yum history | grep 'U'는 업데이트와 관련된 모든 실행을 잡을 것입니다.
JJC

2

난 당신이 절대적으로 확신 할 수있는 유일한 방법은 실행하는 것 같아요 psacct.

이렇게하면 실행할 수 있습니다 lastcomm yum. 이것을 구문 분석하면 누가 언제 실행했는지 알 수 있습니다.


1

당신이 Dev yum repo를 가리키는 'Dev'서버를 가리키고 있다고 생각합니다.

cron / puppet / chef 스크립트에서 자동 업그레이드를 수행 할 수 있으며, 성공하면 파일에 씁니다. (예 /etc/yum_last)

그런 다음 yum check-updateDev 서버의 cron / other에서 주기적으로 사용하여 사용 가능한 업데이트가 있는지 확인할 수 있습니다. 이 명령에 사용 가능한 업데이트 수가> 0이라고 표시되면 현재 날짜를 마지막으로 자동 yum 업그레이드를 수행했을 때 만든 파일의 타임 스탬프와 비교하십시오.

이 날짜 차이가 일 단위로 증가하면 Nagios에 경고 할 수 있습니다.

필요에 따라 펄프를 볼 수도 있습니다 .


0

다음 명령은 최근에 설치되었거나 업데이트 된 RPM 패키지를 나열합니다.

rpm -qa --last  | head

YUM 외부에 설치된 패키지도 포함될 수 있습니다. 이 명령은 루트 권한 없이도 실행될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.