如何定期生成bash脚本执行命令

时间:2016-08-22 00:55:10

标签: bash

我正在制作一个bash脚本,每次运行大约30分钟。就那部分而言,我已经让它稳定运行。我一直在寻找一种方法,让它在运行时每隔3分钟激活一些命令。我没有运气,所以我转向那些可能比我更了解bash的人。

有什么建议吗?

以下是我的想法。

START=$(date +%s);

while read LINE <&3; do
END=$(date +%s);
if [[ $(($END-$START)) > 180 || $(($END-$START)) == 180  ]]
then
$START=$(date +%s);
run command
fi
done

4 个答案:

答案 0 :(得分:2)

添加一个cron作业,使其每3分钟运行一次。

*/3 * * * * /path/to/script

答案 1 :(得分:1)

答案 2 :(得分:1)

您可以在后台运行循环:

{ while /bin/true; do some_command; sleep 180; done; } &
loop_pid=$!

然后在主脚本退出之前,终止后台循环:

kill $loop_pid

答案 3 :(得分:0)

您也可以从同一个脚本调用相同的脚本。

$ cat script.sh

#!/bin/bash

# commands
# commands

sleep 1800
sh $0