2014-12-13 1 views
3

나는 Stackoverflow에서 약간 새로운 기능을 가지고 있지만 (내 평판으로 볼 수 있음), 경고음을 울리는 방법을 궁금합니다. 또는 자동 폴링Rasbperry Pi에서 RDP (특히 XRDP) 세션에 대한 로그인 시도 실패 로그 파일.Raspbian에서 Raspbery Pi에 대한 Bash 파일 수정 알림

라즈베리 파이이므로, 내가 왜 에 헤드리스를 실행하고 싶은지 이해할 수 있습니다.

필자는 많은 검색을 수행했으며 Pi에 직접 연결될 때만 알림 또는 알림을 보내는 방법을 찾은 것으로 보입니다. 대부분의 자동 터미널 창에서 실행되는 동안이 경고를 받고 싶습니다. 새 로그 활동 (로그 파일 크기가 변경되고 경고음이 울리면)을 울리고 특정 간격 (예 : 매 30 초 또는 1 분 등)으로 로그를 확인합니다.

가이 배쉬 스크립트 /var/log/xrdp.log 여기

답변

3

할 것 떠들썩한 파티 스크립트의 요지이다 만들기 시작하는 방법을 나에게 몇 가지 아이디어를 제공에 도움이된다면 내 로그 위치는 여기 정확히 무엇을 (정말, 또는 리눅스)는 라즈베리 파이에 SSH를 통해 원하는 :

https://gist.github.com/free5ty1e/300adb0800ba45f3fe4e

#!/bin/bash 

# xrdpLogMonitor.sh <optional timeout in seconds> 
# This script will check and spit out your xrdp log file every X seconds 
# (default 30 if not specified) 
# If the file size has changed since your last check, your terminal will beep (system alert) 

logFileName="/var/log/xrdp.log" 

if [ $# -eq 0 ]; 
then 
    echo "No arguments supplied, will use default time between log polls (30 seconds)" 
    secondsBetweenLogPolls=30 
else 
    echo "Using supplied timeout of $1 seconds between log polls" 
    secondsBetweenLogPolls=$1 
fi 


function updateLogModifiedTimeAndBeepIfChanged() 
{ 
    lastLogModifiedTime=$LogModifiedTime 
    LogModifiedTime="$(stat --printf="%Z" $logFileName)" 
    if [ "$LogModifiedTime" != "$lastLogModifiedTime" ]; 
    then 
     echo NEW LOG ACTIVITY CAPTURED!!!! 

     #Below line creates the terminal beep 
     echo -ne '\a' 
    fi 
} 

while [ 1 -lt 2 ]; do 
    updateLogModifiedTimeAndBeepIfChanged 
    echo "$(ls -l $logFileName)" 
    echo "Polling logfile $logFileName which was last modified at $LogModifiedTime..." 

    #You will need sudo on the pi to cat this xrdp log 
    sudo cat $logFileName 

    #Uncomment the following line to search, for example, for "USER:" and display only those lines that contain it: 
    #sudo cat $logFileName | grep USER: 

    echo "$(date) <--- this is now" 
    sleep $secondsBetweenLogPolls 
done 

당신이 xrdpLogMonitor.sh 파일을 만든 후, 입력하여 실행 파일로 설정하는 것을 잊지 마세요 :

chmod +x ./xrdpLogMonitor.sh 

그런 다음 입력하여 실행합니다

./xrdpLogMonitor.sh 
+0

와우, 내가 upvoted 것입니다하지만 난 충분히 명성을 가지고 있겠지. 나는이 지침을 따랐고 매력처럼 작동했다. 이제 로그 파일이 수정되었을 때 SSH를 통해 경고음이 들린다. 또한 타이머가 (1 초) 작동하는지 확인하기위한 테스트를 수행했으며 투표를 취소 할 때까지 작동했습니다. 다시 도움을 주셔서 감사합니다 –

+1

괜찮습니다! 내 피에 잘 작동 :) – ChrisPrime

관련 문제