이메일이 아닌 화면으로 스마트 출력

이메일이 아닌 화면으로 스마트 출력

나는 내 작업에 대해 현명하게 노력하고 있습니다. 메시지는 내가 결코 사용하지 않는 "메일"을 통해 이메일로 전송되도록 노력하고 있습니다. 하지만 몇 년 전에는 팝업 텍스트 상자를 통해 화면에 직접 경고를 보낼 만큼 영리했던 기억이 납니다. 이 작업을 다시 수행하는 방법을 알아 내려고 노력 중입니다. "screen" 명령에 대한 메시지가 나를 혼란스럽게 합니다. tmux도 마찬가지입니다. 아니면 알림일 수도 있다고 생각했습니다. 몇 주 동안 작업할 시간이 있으면 메일을 작동시키겠지만 지금은 팝업 메시지를 선호합니다.

================================================= =

"smartd.conf"에서:

DEVICESCAN -a -m <nomailer> -M exec notify -M test

...좋아, 전체 경로를 추가했습니다. 훨씬 나아졌습니다.

DEVICESCAN -a -m <nomailer> -M exec /bin/notify -M test

..."notify"는 CLI에서 잘 작동하며 실행 가능한 스크립트입니다.

/bin/notify-send "$(systemctl status smartd)"

...하지만 그럼에도 불구하고:

 systemctl restart smartd; systemctl status smartd

...오류가 보고되지 않으며 "테스트" 결과도 나오지 않습니다.

그런데 지금까지 언급한 변수를 사용한 결과가 없습니다.

...

$ smartd ... 두 디스크 모두에 대해 하나씩 두 개의 알림을 표시합니다! 그렇다면 "systemctl restart smartd"에 아무것도 표시되지 않는 이유는 무엇입니까?

답변1

notify-send특별한 우편물이 필요합니다 :

먼저 다음과 같은 스크립트를 작성하세요.

#!/bin/sh
/usr/bin/notify-send "$SMARTD_DEVICESTRING" "$SMARTD_MESSAGE"

둘째, 드라이브 테스트 설명의 smartd.conf에 다음을 추가하십시오.

-m <nomailer> -M exec /path/script

이는 전달된 대로 우리가 완전히 의존하는 스크립트를 <nomailer>알려주는 특수 주소입니다 . 문제에 대한 모든 정보를 환경 변수 세트에 넣고 스크립트를 실행합니다(매개변수 없음, 표준 입력 없음). 스크립트가 일부 인쇄를 수행하면 표준 출력은 로 이동합니다 .smartd-M execsmartdsyslog

추가 자료:man 5 smartd.conf

답변2

White Owl의 답변부터 시작하여 내가 잘못하고 있는 것은 다음과 같습니다.

스크립트 "알림":

#!/bin/zsh
/usr/bin/notify-send "$SMARTD_DEVICESTRING" "$SMARTD_MESSAGE"

... 잘 작동합니다. 하지만 실행 가능하게 만들려면 "chmod +x"여야 합니다. '/etc/smartd.conf'의 활성 라인:

DEVICESCAN -a -m <nomailer> -M exec /aWorking/Zsh/System/notify -M test

...시스템 경로에 있으면 "알림"이 발견될 것이라고 가정했지만 아니요, 정확한 리터럴 경로를 제공해야 합니다. 이것이 가장 시간이 많이 걸리는 일입니다:

$ systemctl restart smartd

...어떤 이유로든 스크립트를 활성화하지 않고 다음을 수행해야 합니다.

$ smartd

...그리고 예상대로 시작됩니다. 디스크당 하나의 메시지.

문제 없다.

관련 정보