QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码
查看: 545|回复: 8

[已解决]linux中如何限制日志文件大小?

[复制链接]
最佳答案
0 
累计签到:4 天
连续签到:3 天
发表于 2017-5-8 14:50:33 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
某个程序不断把日志写入到一个文件中,有什么办法可以限制这个文件的大小?
最佳答案
2017-5-9 21:42:41
dark势力 发表于 2017-5-9 18:22
不过麻烦能讲的稍微详细点吗,具体如何操作之类的? 这个指针操作太高阶,我不是很明白,有劳大神{:10_ ...

- -额 混淆概念了 指针只有C语言才有,就是先用可读方式打开,然后用file.seek(0, 2)这个方法将当前文件位置定位到文件尾部,然后用file.tell()获取当前位置,这个获取回来的位置就是整个文件的字节数,然后就与你要比较的大小,进行判断
建议自己写一下代码更好理解,写完发出来不懂我可以跟你讲一下
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:4 天
连续签到:3 天
 楼主| 发表于 2017-5-8 14:51:23 | 显示全部楼层
比如,有个a.log 的日志文件不断变大,我要限制其最大为1GB,当超过1GB时,自动将旧的内容覆盖。保证该文件最大大小一直为1GB。

    请问如何实现?
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
176 
累计签到:227 天
连续签到:1 天
发表于 2017-5-8 22:08:25 | 显示全部楼层
先用r打开文件后使用file.seek(0, 2)将文件指针指向最后然后使用file.tell()获得当前文件位置,就是文件大小的字节数,然后跟1G大小进行比较,如果超过就关闭文件,以w+方式重新打开就能复写文件
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:4 天
连续签到:3 天
 楼主| 发表于 2017-5-9 18:14:53 | 显示全部楼层
不好意思,回复的晚了。指针这方面都不懂哎,晚上我回去操作试一下
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:4 天
连续签到:3 天
 楼主| 发表于 2017-5-9 18:20:36 | 显示全部楼层
不过麻烦能讲的稍微详细点吗,具体如何操作之类的? 这个指针操作太高阶,我不是很明白,有劳大神
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:4 天
连续签到:3 天
 楼主| 发表于 2017-5-9 18:22:27 | 显示全部楼层
lumber2388779 发表于 2017-5-8 22:08
先用r打开文件后使用file.seek(0, 2)将文件指针指向最后然后使用file.tell()获得当前文件位置,就是文件大小 ...


不过麻烦能讲的稍微详细点吗,具体如何操作之类的? 这个指针操作太高阶,我不是很明白,有劳大神
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
176 
累计签到:227 天
连续签到:1 天
发表于 2017-5-9 21:42:41 | 显示全部楼层    本楼为最佳答案   
dark势力 发表于 2017-5-9 18:22
不过麻烦能讲的稍微详细点吗,具体如何操作之类的? 这个指针操作太高阶,我不是很明白,有劳大神{:10_ ...

- -额 混淆概念了 指针只有C语言才有,就是先用可读方式打开,然后用file.seek(0, 2)这个方法将当前文件位置定位到文件尾部,然后用file.tell()获取当前位置,这个获取回来的位置就是整个文件的字节数,然后就与你要比较的大小,进行判断
建议自己写一下代码更好理解,写完发出来不懂我可以跟你讲一下
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:4 天
连续签到:3 天
 楼主| 发表于 2017-5-11 14:16:29 | 显示全部楼层
lumber2388779 发表于 2017-5-9 21:42
- -额 混淆概念了 指针只有C语言才有,就是先用可读方式打开,然后用file.seek(0, 2)这个方法将当前文件位 ...

用日志切割达到了目的。感觉更方便一点。谢谢大神~
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:1 天
连续签到:1 天
发表于 2017-9-11 03:46:11 | 显示全部楼层
用linux  日志轮替 http://www.vavlv.com/read-1441   可以设定日志的大小,还有日志保存的时间,日志分割多少份
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /3 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2017-11-19 12:52

快速回复 返回顶部 返回列表