【发布时间】:2015-05-21 12:33:36
【问题描述】:
我想拿出一个很好的和当没有发生过的文件夹中的任何写活动我很喜欢看检测简便的方法。 P>
基本上,我想有是这样的: P>
#!/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!" "user@provider.ext"
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是一个后台任务和其输出作为管道创建一个子外壳。 我也将是在一些需要定时逻辑... 我的想法是这样,其中的时间争论不断被添加的时候有活动的setTimeout的,但我不知道如何给它的所有写一个脚本。 P>
猛砸,Python和Ruby,任何可以使用的OSX自制安装是好的,但越简单越好(让我明白发生了什么)。 P>
【问题讨论】:
-
您需要使用
#!/bin/bash的hashbang的,或删除所有bash-only结构从你的脚本。 SPAN> -
请澄清你的问题是什么。我们不会开发整个脚本的你,和AFAIK软件建议是题外话。 SPAN>
-
@ chepner我写的东西把我的头顶部,使用一些部件来自不同的脚本,但是,是的,你是对的:) @ l0b0,我不知道你有什么不明白。我使用的情况是,我运行模拟,他们把结果的文件夹(即写操作)英寸这个我可以看有(使用自制安装)
fswatch。不过,我想知道,当没有发生过的,而任何写入活动(这表明事情错了)。我甚至试图表明我想要的东西通过创建一个存根脚本..我没有问关于软件的建议。我指出,任何解决办法是罚款。 SPAN>
标签: macos bash terminal fswatch