当前位置: 技术问答>linux和unix
shell脚本怎样控制文件的大小,路过的大神们进来看看,感谢!
来源: 互联网 发布时间:2017-03-05
本文导语: 是这样的,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 考虑到日志文件大了后超出物理盘的容量。 希望写入日志时超过一定的...
是这样的,echo写一个日志文件,内容如下形式
考虑到日志文件大了后超出物理盘的容量。
希望写入日志时超过一定的记录条数后,新写入的覆盖掉前面时间最早最老的记录
请问用shell 编程怎么实现?
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 编程怎么实现?
|
删除最前面一行,然后追加就够了。假设最大的文件行数是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