在bash中自动化脚本

时间:2014-01-13 03:38:55

标签: python bash awk

我有两个程序foo.py and bar.py

正在运行foo.py creates a file foo_cur_timestamp.txtbar.py creates a file bar_cur_timestamp.txt

这些实际上是使用twitter流式api收集的推文 这些推文被刷新到文件中,这样文件中的行数就会不断增长(而不是像文件最后写的那样,而是实时写入)

现在..有时会发生什么foo.py和bar.py会收集40k的推文,它会触及twitter api上限而twitter会抛出一个错误,我必须重新启动程序(%python foo.py or bar.py),但有时只会这样。 。

运行该程序将创建一个新文件(因为cur_timestamp现在不同了)..

我想自动执行这些步骤..

1)每1分钟计算当前正在写入的文件中的行数(基本上是前缀为foo_ .....txt and bar_....txt的文件)

2)如果文件中的行数达到40k并且没有增长..那么再次启动相关程序。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

*/1 * * * × wc -l foo*txt |awk '{ if( $2=="total" && $1 >=400000) { system("python foo.py") } }'
*/1 * * * × wc -l bar*txt |awk '{ if( $2=="total" && $1 >=400000) { system("python bar.py") } }'