免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3601 | 回复: 6

请大家帮下忙,linux下怎样清空一个正在被写的文件,而不产生文件空洞 [复制链接]

论坛徽章:
0
发表于 2010-01-21 16:23 |显示全部楼层
5可用积分
情况是这样的:
           由于代码bug,用于生产的系统(不能重启)所产生的日志文件不再根据时间进行切换,所有的日志写入同一个文件,该日志文
件不断增大。现在尝试用crontab定时备份并清空文件。但是日志文件虽然内容被清空,但是文件大小不变(文件空洞),用more命令查看,
发现文件前面一片空白,只有到文件底部发现有新写入的数据。
自我分析:
           这是由于写日志的进程保存了文件指针值(文件描述表项),虽然清空了文件但该文件指针值依然不变,所以产生文件空洞。
求助:
         用什么办法,可以备份当前日志内容,并减小日志文件大小,新内容又能被正确写入。

论坛徽章:
0
发表于 2010-01-21 18:23 |显示全部楼层
lz。。。到处都见你这个帖。。。。不过这个话题我有兴趣。。。

论坛徽章:
0
发表于 2010-01-22 00:06 |显示全部楼层
cp /dev/null /tmp/file

论坛徽章:
0
发表于 2010-01-22 14:14 |显示全部楼层
学习中。。。。。
文件空洞。

论坛徽章:
0
发表于 2010-01-23 14:00 |显示全部楼层
你参考一下logrotate吧,这个应该是考虑了你说的这个问题

论坛徽章:
0
发表于 2010-01-24 10:25 |显示全部楼层
lssek把文件指针移回去不行吗?

论坛徽章:
0
发表于 2010-01-24 11:33 |显示全部楼层
>文件名字
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP