linux - shell 脚本内部的时间控制

标签 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 脚本。它只运行一次,在一次运行期间处理所有必要的工作。但在给定的时间,它应该暂停并再次重新运行。

如何在 Shell 脚本中实现此功能?

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

最佳答案

1)您的描述听起来有点令人困惑,但是,如果我理解您的要求,请检查时间以及是否为“安静时间”,然后执行计时器循环或可能执行一些有用的操作或直接退出。

2) 按照其他人的建议,使用 cron 每天凌晨 3:01 '启动' - 如果它每天午夜退出...

3)更改您的“else”例程以直接退出

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

关于linux - shell 脚本内部的时间控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28900805/

相关文章:

javascript - 翻译正则表达式

linux - 如何在 Bash 中识别多行字符串中的目录路径,替换为对自己文件内容的引用?

java - 评估后检索使用的常规变量

linux - 如何在软盘上测试引导加载程序

linux - 在检测到中断时向用户空间发送异步事件

linux - 在 shell 脚本中使用 at 命令调度命令

shell - 当输入包含在 shell 中使用读取的连续选项卡时获取正确的列

php - xgettext 给了我一个简单的行 : 的奇怪输出

git - 使用 bash awk 从 git log 发布说明

c - 在子进程中重定向标准输出是否对父进程也是如此?