프로그램 완료에 대한 간단한 알림

프로그램 완료에 대한 간단한 알림

(mosh를 통해) 기계에 SSH를 연결하는 동안 뭔가를 실행하고 있습니다. 프로그램 종료 알림을 받기 위해 sendmail을 사용하고 싶지만 보안상의 이유로 컴퓨터가 네트워크에 연결할 수 없습니다.

프로그램이 종료된 후 내 로컬 컴퓨터에서 알림을 받을 수 있는 방법이 있습니까?

편집: 특히 삭제된 컴퓨터에 로그인하면 동일한 SSH 세션을 유지하면서 로컬 컴퓨터에서 일종의 알림을 받고 싶습니다.

답변1

스크립트 끝에 로컬 알림을 위한 여러 가지 솔루션이 있습니다. 다음은 두 가지입니다.

마지막에 경고음 문자를 사용하여 소리를 냅니다.

ssh user@host /path/to/script; echo -e '\a' > $(tty)

CD 드라이브를 꺼낼 수 있습니다(제가 가장 좋아하는 것으로, 무엇을 하든 눈에 띕니다 :-). 또한 나갔다가 돌아오거나 기계를 잠가도 보입니다. )

ssh user@host /path/to/script; eject

답변2

해외의 기계에서 메일을 보낼 필요가 없습니다. 명령이 완료되면 로컬 컴퓨터에서 이메일을 보낼 수 있습니다.

ssh host cmd ; echo "It's done." | mail me@somewhere -s Completion

원격 컴퓨터에 로그인 상태를 유지해야 하는 경우에도 해당 명령의 진행 상황을 모니터링할 수 있습니다. 예를 들어:

$ ssh host 'cmd1 ; echo Done $?; cmd2' | { while read a b; do [ "$a" = "Done" ] && echo "It's done with code $b." | mail me@somewhere -s Completion; done; }

위에서는 cmd1 ; echo Done $?; cmd2원격 컴퓨터에서 실행됩니다. 루프를 통해 로컬 컴퓨터는 진행 상황을 모니터링하고 while완료되면 이메일을 보냅니다.cmd1

관련 정보