나는 내 작업에 대해 현명하게 노력하고 있습니다. 메시지는 내가 결코 사용하지 않는 "메일"을 통해 이메일로 전송되도록 노력하고 있습니다. 하지만 몇 년 전에는 팝업 텍스트 상자를 통해 화면에 직접 경고를 보낼 만큼 영리했던 기억이 납니다. 이 작업을 다시 수행하는 방법을 알아 내려고 노력 중입니다. "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 exec
smartd
syslog
추가 자료: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
...그리고 예상대로 시작됩니다. 디스크당 하나의 메시지.
문제 없다.