Developers, do consider different user roles! - A bad experience with cron
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的更多相关文章
- JavaScript 代码简洁之道
摘要: 可以说是<Clean Code>的JS代码示例了,值得参考. 原文:JavaScript 代码简洁之道 作者:缪宇 Fundebug经授权转载,版权归原作者所有. 测试代码质量的唯 ...
- JavaScript 风格指南
来源于: https://github.com/alivebao/clean-code-js 目录 介绍 变量 函数 对象和数据结构 类 测试 并发 错误处理 格式化 注释 介绍 作者根据 Rober ...
- Top15的golang学习资源网站
We decided to ask the Go expert and CTO at QArea’s, Maksim Kuharenko, to share his personal list of ...
- JS编程规范指南
原文:github.com/ryanmcdermott/clean-code-javascript 说明:本文翻译自 github 上的一个项目,只取部分精华. 一.变量 用有意义且常用的单词命名 / ...
- Clean Code of JavaScript
Clean Code of JavaScript 代码简洁之道 JavaScript 版 https://github.com/ryanmcdermott/clean-code-javascript ...
- Apple Developer Program Roles Overview
Apple Developer Program Roles Overview There are three roles that can be assigned to Apple Developer ...
- eclipse ide for java ee developers 开发环境搭建(j2ee)
转载自:http://www.iteye.com/topic/982182 真的是一片很不错的文章啊! 使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指 ...
- eclipseIDE for javaee developers 开发环境搭建详解图文
使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指导,专门讲解了一下Eclipse开发环境的搭建过程,一是帮助他们尽快的熟悉IDE的使用,二也是保证团队开 ...
- 转载:Practical UML™: A Hands-On Introduction for Developers
原文:http://edn.embarcadero.com/article/31863 By: Randy Miller Abstract: This tutorial provides a quic ...
随机推荐
- myeclipse 10 载入新的项目报错Cannot return from outside a function or method
myeclipse 10 载入新的项目报错Cannot return from outside a function or method 解决方法: 方法一: window -->prefere ...
- codeforces Round #258(div2) D解题报告
D. Count Good Substrings time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- 《linux 内核全然剖析》 chapter 2 微型计算机组成结构
微型计算机组成结构 系统的基本组成: 软件是一种控制硬件操作和动作的指令流. 2.1 微型计算机的组成原理 当中CPU通过地址线,数据线,和控制信号线组成的内部总线与系统其它部分进行数据通信.地址线用 ...
- [Angular2 Router] Load Data Based on Angular 2 Route Params
You can load resource based on the url using the a combination of ActivatedRouteand Angular 2’s Http ...
- [Express] Level 4: Body-parser -- Post
Parser Setup Assume the body-parser middleware is installed. Now, let's use it in our Express applic ...
- PHP __autoload函数(自动载入类文件)的使用方法(转)
详细出处参考:http://www.jb51.net/article/29625.htm 在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进 ...
- boost.asio源码剖析(二) ---- 架构浅析
* 架构浅析 先来看一下asio的0层的组件图. (图1.0) io_object是I/O对象的集合,其中包含大家所熟悉的socket.deadline_tim ...
- Perl小知识点之排序sort
脚本这种东西,就是要常用,否则一段时间不用就生疏了,因此决定时时记一些小知识点,一来回顾一下,二来需要的时候可以迅速获得提示. Sort by number You could now write a ...
- mysql loop if
MYSQL: loop if ITERATE: 跳出此次循环,直接进入到下一次循环中 LEAVE: 结束循环,跳出整个循环. demo如下: CREATE TABLE t( v INT NOT ...
- U_boot 的 bootcmd 和bootargs参数详解
转自 :http://linux.chinaunix.net/bbs/archiver/tid-1111568.html U-boot的环境变量值得注意的有两个: bootcmd 和bootargs. ...