crontab 使用日期时间命名重定向文件
2016-06-28 20:29
691 查看
linux crontab命令可以实现定时执行任务,最小的执行周期是1分钟
关于crontab的使用可以查看《Linux crontab定时执行任务 命令格式与详细例子》
例:每天12点执行test.php,执行的输出会追加到test.log文件
2>&1 表示把标准错误输出重定向到与标准输出一致,即test.log
每天12点都执行一次,当天的输出就会追加到test.log文件。如果运行了一段很长的时间(如1年),test.log文件的内容则会很大。 这样不方便查看对应日期的输出记录。
因此我们需要一个方法,可以按不同时段写入不同的日志文件,例如每日,每周,每月使用一个日志文件(具体根据不同的需求定义)这样就可以方便搜寻。
例:每天12点执行,使用当天日期来命名重定向文件
2016-06-06 执行的,会追加入/Users/fdipzone/2016-06-06.log
2016-06-07 执行的,会追加入/Users/fdipzone/2016-06-07.log
…
这样可以很方便找到对应日期的定时任务执行日志
如果每天创建的日志内容不多,我们可以使用月份/周为日志命名。如果日志内容很多也可以按小时来命名,以下提供不同时段的命名重定向文件实例。
使用月份命名
使用周命名
使用小时命名
关于crontab的使用可以查看《Linux crontab定时执行任务 命令格式与详细例子》
例:每天12点执行test.php,执行的输出会追加到test.log文件
0 12 * * * php /Users/fdipzone/test.php >> /Users/fdipzone/test.log 2>&1
2>&1 表示把标准错误输出重定向到与标准输出一致,即test.log
每天12点都执行一次,当天的输出就会追加到test.log文件。如果运行了一段很长的时间(如1年),test.log文件的内容则会很大。 这样不方便查看对应日期的输出记录。
因此我们需要一个方法,可以按不同时段写入不同的日志文件,例如每日,每周,每月使用一个日志文件(具体根据不同的需求定义)这样就可以方便搜寻。
例:每天12点执行,使用当天日期来命名重定向文件
0 12 * * * php /Users/fdipzone/test.php >> "/Users/fdipzone/$(date +"\%Y-\%m-\%d").log" 2>&1
2016-06-06 执行的,会追加入/Users/fdipzone/2016-06-06.log
2016-06-07 执行的,会追加入/Users/fdipzone/2016-06-07.log
…
这样可以很方便找到对应日期的定时任务执行日志
如果每天创建的日志内容不多,我们可以使用月份/周为日志命名。如果日志内容很多也可以按小时来命名,以下提供不同时段的命名重定向文件实例。
使用月份命名
0 12 * * * php /Users/fdipzone/test.php >> "/Users/fdipzone/$(date +"\%Y-\%m").log" 2>&1
使用周命名
0 12 * * * php /Users/fdipzone/test.php >> "/Users/fdipzone/$(date +"\%Y-W\%W").log" 2>&1
使用小时命名
* * * * * php /Users/fdipzone/test.php >> "/Users/fdipzone/$(date +"\%Y-\%m-\%d_\%H").log" 2>&1
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍