论坛风格切换切换到宽版
  • 561阅读
  • 4回复

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

上一主题 下一主题
离线ghjp.
 
发帖
1950
C币
-60699
威望
382
贡献值
1
银元
-1
铜钱
4379
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-04-27
情况是这样的:
           由于代码bug,用于生产的系统(不能重启)所产生的日志文件不再根据时间进行.切换,所有的日志写.入同一个文件,该日志文.
件不断增大。现在尝试用crontab定时.备份并清空文件。但是日志文件虽然内.容被清空,但是文件大小不变(文件空洞),用more命令查看,           鲜花
发.现文件前面一片空白,只有到文.件底部发现有新写入的数据。.
自我分析:
           这是由于写日志的进程保存了文件指.针值(文件描述表项),虽然清空了文件但该文件指针值依然不变.,所以产生文件空洞。    美容
求助:
         用什么办法,可以备份当.前日志内容,并减小日志文件大小,新内容又能被正确写入.。虚拟主机

我来回答



评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
1973
C币
-198791
威望
339
贡献值
1
银元
-1
铜钱
4278
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-10
lz。。。到处都见你这个帖。。。。不过这个话题我有兴趣。。。


离线jiajiawang.
发帖
2083
C币
-236104
威望
413
贡献值
2
银元
-3
铜钱
4797
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-10
学习中。。。。。
文件空洞。


离线double123.
发帖
2094
C币
-604838
威望
395
贡献值
1
银元
-5
铜钱
4662
人人网人气币
0
只看该作者 地板  发表于: 2010-04-10
你参考一下logrotate吧,这个应该是考虑了你说的这个问题


离线冰之心.
发帖
2128
C币
-198361
威望
377
贡献值
1
银元
-6
铜钱
4807
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-10
lssek把文件指针移回去不行吗?


快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个