如何每10分钟运行一次脚本

时间:2014-05-01 15:58:29

标签: linux bash shell

我需要每10分钟运行一次shell脚本。 每次脚本运行时,我都会将输出附加到日志文件中。 一旦日志文件的大小达到10 MB,我需要停止脚本运行。 怎么能实现这一点,请帮助!!

./test.sh >> log_file 

3 个答案:

答案 0 :(得分:1)

maximumsize=10000 #KB

while :
do
    ./test.sh >> log_file
    actualsize=$(du -k log_file | cut -f 1)
    if [ $actualsize -gt $maximumsize ];then
        echo "logsize exceed.stop."
        break
    fi

    sleep 600
done

答案 1 :(得分:0)

你应该修改你的测试脚本:把你的进程放到一个函数中,把你的函数添加到循环中,循环的条件(日志文件的大小在10MB以下),在循环结束时添加一个{{1}等待十分钟

答案 2 :(得分:0)

如果日志文件>您可以在test.sh脚本的开头添加一个测试。 10MB然后不运行(退出),或者你可以存档(可能是gzip -9xz -9)日志,如果它是所有文本输出那么它应该压缩很多。或者你可以通过gzip管道脚本的输出来立即压缩它。

并且还使用cron / anacron定期运行脚本,例如将*/10 * * * * user test.sh添加到/ etc / crontab ...