- 论坛徽章:
- 0
|
回复 8# 关阴月飞
理解不了你贴出来的方法。我也用awk写了一个。挂到crontab后测试可行。- #!/bin/bash
- export till_time=$(date -d "10 minutes ago" +%T)
- export from_time=$(date -d "20 minutes ago" +%T)
- test -e /tmp/$(date +%F-%T).log | touch /tmp/$(date +%F-%T).log
- awk '$2 >= "'$from_time'" && $2 <= "'$till_time'" {print;}' < /var/log/localB.log > /tmp/$(date +%F-%T).log
复制代码 但仍然有个BUG。切割出来的两份log之间是丢失了5秒钟的记录。
mmc@90:/tmp$ tail -n2 2013-02-28-14\:30\:01.log
2013-02-28 14:19:53 90 sid_101_Gam2: [HARDWORK] MMM,LN=155, LM=159, T=841, BN=2, BM=89, MN=8, MM=439, PL=1
2013-02-28 14:19:57 90 sid_101_Core: [HARDWORK]
mmc@90:/tmp$ head 2013-02-28-14\:40\:01.log
2013-02-28 14:20:02 90 sid_101_Gam1: [HARDWORK] MMM,LN=200, LM=211, T=894, BN=2, BM=7587, MN=8, MM=27061, PL=1
2013-02-28 14:20:03 90 sid_101_Gam2: [HARDWORK]
crontab 怎么啦?难道我一定要写固定的时间,而不用date得出时间才准确吗? |
|