我想拿出的時候沒有發生過的文件夾中的任何寫活動我很喜歡看檢測一個很好的和簡單的方法沒有寫活動。任何腳本通知時,有文件夾
基本上,我想有是這樣的:
#!/bin/sh
# colored red text (error)
function errorMsg() {
echo '\033[0;31m'"$1"'\033[0m'
}
# check for folder to monitor argument
if [ "$#" -ne 1 ]
then
errorMsg "add experiment (folder) to monitor for activity!"
exit
fi
# time out time, 3 minutes
TIMEOUT_TIME=180
LAST_CHECKED=0
function refreshTimer() {
# when called, check seconds since epoch
CURRENT_TIME=date +%s
if [ CURRENT_TIME - LAST_CHECKED > TIMEOUT_TIME ]
then
echo "file write activity halted!" | mail -s "trouble!" "[email protected]"
fi
LAST_CHECKED=date +%s
}
# set last checked to now.
LAST_CHECKED=date +%s
# start monitoring for file changes, and update timer when new files are being written.
fswatch -r ${1} | refreshTimer
但bash的魔術各種需要我猜想,因爲fswatch是一個後臺任務,其輸出作爲管道創建一個子shell。 我也很需要一些定時器邏輯的...... 我想是這樣,其時的說法不斷被添加的時候有活動的setTimeout的,但我不知道如何給它的所有寫在一個腳本。
猛砸,Python和Ruby,任何可以使用的OSX自制安裝是好的,但越簡單越好(讓我明白髮生了什麼)。
您需要使用'#!/ bin中/ bash'爲hashbang,或刪除所有'bash'只從您的腳本構建。 – chepner
請澄清你的問題到底是什麼。我們不會爲您開發整個腳本,並且AFAIK軟件建議不在話下。 – l0b0
@chepner我從頭頂寫了一些東西,使用了不同腳本的某些部分,但是,是的,你是對的:) @ l0b0,我不確定你不明白。我的用例是我運行模擬,他們把結果放在一個文件夾中(即寫入操作)。我可以用'''fswatch'''(可以使用自制軟件安裝)觀看。但是,我想知道什麼時候沒有任何寫入活動(這表明出現了問題)。我甚至試圖通過創建一個存根腳本來顯示我想要的東西。我不問軟件建議。我說任何解決方案都很好。 –