2014-12-13 28 views
3

我在Stackoverflow上有點新(根據我的聲望你可能會看到),但我想知道如何發出聲音警報 或某種其他類型的修改自動輪詢日誌文件,其中包含Rasbperry Pi的RDP(特別是XRDP)會話失敗的登錄嘗試。Raspbian上Raspbery Pi的Bash文件修改警報

由於它是一個樹莓派,我相信你明白爲什麼我想 運行它無頭。

我已經做了大量的搜索,只是直接連接到Pi時,似乎找到了引用或方法來發出聲音警報。我希望在大多數無聲終端窗口中運行此警報。我更喜歡爲新的日誌活動(如果日誌文件大小已經改變,發出嘟嘟聲)發出嘟嘟聲,然後以特定的時間間隔(即每30秒或1分鐘等)檢查日誌。

我的日誌的位置就在這裏,如果它在給我一些想法幫助如何開始做這個bash腳本/var/log/xrdp.log

回答

3

這裏是一個bash腳本的要點,會做什麼你希望,通過SSH,在樹莓派(或任何Linux,真的):

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秒鐘),直到我取消了投票。再次感謝您的幫助 – 2014-12-13 06:48:52

+1

沒問題!在我的Pi上工作得很好:) – ChrisPrime 2014-12-13 07:18:52