SHELL SCRIPT内部的时间控制

时间:2015-03-06 14:24:43

标签: linux bash shell unix

我正在尝试在SHELL SCRIPT中设置一个时间,以便它在工作时间自动运行并停止设定的时间并在设定的时间后重新运行。 不运行设定的时间或一段时间.. 时间取决于要处理的事物数量。 通常需要3~5个小时..但我希望这个程序在凌晨12点到凌晨3点暂停,并在那之后再次重新运行..

例如。

if [ -d /tmp/test ] 
then 
    for dir in $(ls -d $DIR1/* | grep test)
    do
        ....
    done 
fi

如何在Shell脚本中编写它?

我的观点是完全自动运行单个shell脚本..它只运行ONCE处理在这一次运行期间所有必要的工作..但在给定时间它应该暂停并重新运行。

如何在Shell脚本中实现这个?

有些人推荐使用cron,但这不仅适用于没有进入shell脚本的执行命令吗?并且这也不仅仅是为了设置它应该运行多长时间?

1 个答案:

答案 0 :(得分:0)

1)你的描述听起来有点令人困惑,但是,如果我理解你的要求,请查看小时以及是否安静时间'然后做一个计时器循环或者一些有用的东西或者简单地退出

2)正如其他人所建议的那样,使用cron来开始'每天凌晨3:01 - 如果它每天午夜退出......

3)改变你的“其他”'例程简单地退出

HOUR=$(date +%H)
if [[ ${HOUR} -ge 3 ]]
then
     go_do_your_stuff
else
     we_are_in_time_loop
fi