The Story:

Last week, I found one of our embedded arm linux device  ran out of flash space( totally only 128M for apps and OS).

After checking for a while, I found that test app created too many files which occupied the major flash space.

But after deeper checking, also found that cron log file( /var/cron/log) also ocuppied more than 10M space.

I looked at cron's source code and saw that there's a macro definition(LOG_FILE) to decide logging to /var/cron/log or not.

And we're using "angstrom-distribution" which provides pre-compiled .ipk packages, we were not aware that this macro was openned while compiling.

The Thoughts:

Firstly, It's our requirement  analysis and testing problem that didn't check carefully if there're potential disk space eaters.

And I really think that it can be better that in original cron developers' mind that software package end users  and package providers are different user roles.

And it's better to aware that different users' pain points maybe very different like some doesn't care about 10M disk usage while some cares a lot.

If considered these factors, they mostly would consider to provide end users a dynamic way to configure logging behavior.

(Btw, good to see that in latest ubuntu distribution,  /etc/default/cron file allow user to define environment variables to control this.)

Further readings:

What is cron: http://en.wikipedia.org/wiki/Cron

Cron source code( didn't find angstrom's but ubuntu's) :  https://launchpad.net/ubuntu/+source/cron/3.0pl1-120ubuntu3

Developers, do consider different user roles! - A bad experience with cron的更多相关文章

  1. JavaScript 代码简洁之道

    摘要: 可以说是<Clean Code>的JS代码示例了,值得参考. 原文:JavaScript 代码简洁之道 作者:缪宇 Fundebug经授权转载,版权归原作者所有. 测试代码质量的唯 ...

  2. JavaScript 风格指南

    来源于: https://github.com/alivebao/clean-code-js 目录 介绍 变量 函数 对象和数据结构 类 测试 并发 错误处理 格式化 注释 介绍 作者根据 Rober ...

  3. Top15的golang学习资源网站

    We decided to ask the Go expert and CTO at QArea’s, Maksim Kuharenko, to share his personal list of ...

  4. JS编程规范指南

    原文:github.com/ryanmcdermott/clean-code-javascript 说明:本文翻译自 github 上的一个项目,只取部分精华. 一.变量 用有意义且常用的单词命名 / ...

  5. Clean Code of JavaScript

    Clean Code of JavaScript 代码简洁之道 JavaScript 版 https://github.com/ryanmcdermott/clean-code-javascript ...

  6. Apple Developer Program Roles Overview

    Apple Developer Program Roles Overview There are three roles that can be assigned to Apple Developer ...

  7. eclipse ide for java ee developers 开发环境搭建(j2ee)

    转载自:http://www.iteye.com/topic/982182 真的是一片很不错的文章啊! 使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指 ...

  8. eclipseIDE for javaee developers 开发环境搭建详解图文

    使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指导,专门讲解了一下Eclipse开发环境的搭建过程,一是帮助他们尽快的熟悉IDE的使用,二也是保证团队开 ...

  9. 转载:Practical UML™: A Hands-On Introduction for Developers

    原文:http://edn.embarcadero.com/article/31863 By: Randy Miller Abstract: This tutorial provides a quic ...

随机推荐

  1. PostgreSQL中的AnyArray例子

    http://www.joeconway.com/presentations/function_basics.pdf CREATE FUNCTION myappend(anyarray, anyele ...

  2. 配置Outlook Anywhere2010

    防火墙只需要开放CAS的443端口,其他硬件防火墙也是如此,不需要开放其他额外端口(80也没有必要开通,如果都使用https的话) 1.CAS:服务器配置-申请证书(内部.外部CAS名称)2.CAS: ...

  3. 在linux下修改oracle的sys和system的密码和用户解锁

    修改oracle的sys和system的密码和用户解锁 1.再linux系统上sqlplus '/as sysdba' 进入sqlplus后就可以修改sys和system的密码了 2.alter us ...

  4. 【ASP.NET】C# 将HTML中Table导出到Excel(TableToExcel)

    首先,说下应用场景 就是,把页面呈现的Table 导出到Excel中.其中使用的原理是 前台使用ajax调用aspx后台,传递过去参数值,导出.使用的组件是NPOI. 前台调用: <script ...

  5. OC基础之方法和参数的命名规范

    以前学过C/C++/Java/C#语言的童鞋可能刚开始对于OC的方法和参数的命名规范大为不爽 举例来说,如下一个OC方法: - (void)tableView:(UITableView *)table ...

  6. C#操作注册表全攻略

    相信每个人对注册表并不陌生,在运行里面输入“regedit”就可以打开注册表编辑器了.这东西对Windows系统来说可是比较重要的,也是病 毒常常会光顾的地方,比如病毒和恶意软件常常会在注册表的启动项 ...

  7. GLSL实现HDR Rendering 【转】

    http://blog.csdn.net/a3070173/archive/2008/11/29/3408573.aspx HDR - 全称High dynamic rang,是目前流行的3D特效技术 ...

  8. 【JavaScript】HTML5存储方案

    1.Web SQL 2.IndexedDB 3.Local Storage 4.Session Storage 5.Cookies 6.Application Cache

  9. 暂时解决Sublime Text 2不支持input问题(转)

    (1)打开当前python文件 (2)然后 Tools -> Command Palette (3)SublimeREPL Python RUN current file (4)就会打开新窗口, ...

  10. jquery冲突

    今天修改一个项目发现,前辈们自己写的一些方法和jquery冲突了,也就是$的冲突,以至于自己用jquery编写的新功能无法正常使用,细究后发现解决办法如下:使用 noConflict() 方法为 jQ ...