추가 읽기

추가 읽기

저는 스크립팅에 있어서 완전 초보자인데, 사용자가 Linux 서버에 로그인한 시간을 확인하는 스크립트를 작성하라는 요청을 받았습니다. 예를 들어 5시간을 초과하면 종료 상태가 있어야 합니다. 이는 당사의 모니터링 시스템에 의해 감지되어 경고를 받을 수 있습니다.

나는 누군가가 나를 위해 대본을 써줄 것이라고 기대하지 않지만(나는 거짓말쟁이가 아닙니다) 가능한 한 많은 제안을 해주시면 매우 감사하겠습니다.

이 작업이나 유사한 작업을 수행하는 쉘 스크립트를 작성해 본 경험이 있는 사람이 있습니까?

미리 감사드립니다.

답변1

그들이 사용하는 프로그램 whow파일을 살펴보십시오 utmp.wtmp

파일 자체(정보가 이진 형식으로 유지되는 경우)를 조사하는 프로그램을 작성하는 대신 이러한 프로그램 중 하나의 출력을 구문 분석하는 스크립트를 작성하는 것이 더 쉬울 수 있습니다.

man who더 많은 정보를 기다려주세요.

답변2

last순서를 생각해 보셨나요?

답변3

Nagios 플러그인의 일일 비용입니다. 다른 것을 사용하는 경우 모니터링 시스템이 플러그인에서 요구하는 것이 무엇인지 파악해야 합니다. Nagios에는 표준 출력에 기록되는 내용과 플러그인의 종료 상태에 대한 문서화된 인터페이스가 있습니다.

Nagios 플러그인 개발의 출발점은 사람들이 이미 일부 작업을 완료한 곳입니다. 예를 들어Hari Sekhon의 Nagios 플러그인 컬렉션, check_users.sh스크립트가 포함되어 있음"오래된"부분활성 로그인 양식을 살펴보지만 사용자가 적용하려는 규칙을 적용하지는 않습니다. 당신이 원하는 것을 다른 사람이 개발했을 가능성이 있습니다. Nagios가 제공하는 버전에는 check_users사람들이 수년에 걸쳐 작성한 것과 같이 많은 변형과 향상된 기능이 있습니다. 그 중 일부는 Nagios Exchange에 있습니다.

$userlistM. Sekhon의 스크립트는 명령의 출력을 구문 분석하여 문자열을 구성하는 것을 볼 수 있습니다 who. 실제로는 한 줄에 불과합니다. 당신이 원하는 것은 who당신이 작성해야 할 명령 출력의 좀 더 복잡한 처리입니다 .

...또는 프로그래밍 언어로 작성된 프로그램이 실제로직접 읽기다소 불안정한 메커니즘을 구문 분석하는 대신 데이터베이스에 로그인사람이 읽을 수 있는(머신에서 구문 분석할 수 없음) who/ w명령의 출력이며 매우 간단한 출력 생성 및 종료 상태 계산을 수행합니다. Nagios 플러그인은 쉘 스크립트로 작성할 필요가 없습니다. 이는 도구의 사람이 읽을 수 있는 출력을 기계가 처리할 수 있는 형식으로 다시 구문 분석하는 쉬운 방법입니다.유명한Unices 및 Linux 운영 체제의 오류 소스입니다. 이것을 당신이 참여할 것이라는 사실과 결합하십시오다른사람이 읽을 수 있는 날짜/시간 산술 형식을 사용하는 악명 높은 버그 소스로 인해 여기서 쉘 스크립트가 매우 취약해집니다.

추가 읽기

관련 정보