shell脚本怎样控制文件的大小,路过的大神们进来看看,感谢!

chinaye1 2012-07-23 01:51:19
是这样的,echo写一个日志文件,内容如下形式

exec at 2012-07-23 11:11:43
exec at 2012-07-23 11:11:43
exec at 2012-07-23 11:12:43
exec at 2012-07-23 11:13:43

考虑到日志文件大了后超出物理盘的容量。

希望写入日志时超过一定的记录条数后,新写入的覆盖掉前面时间最早最老的记录

请问用shell 编程怎么实现?
...全文
179 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaye1 2012-07-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

删除最前面一行,然后追加就够了。假设最大的文件行数是20行,每隔2s向文件写入一行信息。
Python code
#!/bin/bash
LINE=20
LOG_FILE="log.txt"
if [ ! -e $LOG_FILE ]
then
touch $LOG_FILE
fi

while true
do
line=`wc -l $LOG_FILE | awk '{pr……
[/Quote]

谢谢大神!
Linux-Torvalds 2012-07-23
  • 打赏
  • 举报
回复
删除最前面一行,然后追加就够了。假设最大的文件行数是20行,每隔2s向文件写入一行信息。
#!/bin/bash
LINE=20
LOG_FILE="log.txt"
if [ ! -e $LOG_FILE ]
then
touch $LOG_FILE
fi

while true
do
line=`wc -l $LOG_FILE | awk '{print $1}'`
echo $line
if [ $line -ge $LINE ]
then
sed -i '1d' $LOG_FILE
echo exec at `date` >> $LOG_FILE
else
echo exec at `date` >> $LOG_FILE
fi
sleep 2
done

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧