管理cron日志的最佳方法是在每个作业周围都有一个包装器.包装程序至少可以执行以下操作:

>初始化环境

>将stdout和stderr重定向到日志

>运行工作

>执行检查以查看作业是否成功

>如有必要,发送通知

>清理日志

这是Cron包装的基本版本:

#!/bin/bash

log_dir=/tmp/cron_logs/$(date +'%Y%m%d')

mkdir -p "$log_dir" || { echo "Can't create log directory '$log_dir'"; exit 1; }

#

# we write to the same log each time

# this can be enhanced as per needs: one log per execution, one log per job per execution etc.

#

log_file=$log_dir/cron.log

#

# hitherto, both stdout and stderr end up in the log file

#

exec 2>&1 1>>"$log_file"

#

# Run the environment setup that is shared across all jobs.

# This can set up things like PATH etc.

#

# Note: it is not a good practice to source in .profile or .bashrc here

#

source /path/to/setup_env.sh

#

# run the job

#

echo "$(date): starting cron, command=[$*]"

"$@"

echo "$(date): cron ended, exit code is $?"

您的cron命令行如下所示:

/path/to/cron_wrapper command ...

完成后,我们可以执行另一个名为cron_log_cleaner的作业,该作业可以删除较旧的日志.最后,从cron包装器本身调用日志清理器并不是一个坏主意.

一个例子:

# run the cron job from command line

cron_wrapper 'echo step 1; sleep 5; echo step 2; sleep 10'

# inspect the log

cat /tmp/cron_logs/20170120/cron.log

运行包装的cron作业后,日志将包含以下内容:

Fri Jan 20 04:35:10 UTC 2017: starting cron, command=[echo step 1; sleep 5; echo step 2; sleep 10]

step 1

step 2

Fri Jan 20 04:35:25 UTC 2017: cron ended, exit code is 0

linux cron读哪个文件,linux-管理cron作业创建的日志文件相关推荐

  1. mysql启动失败 查看日志文件_mysql诊断启动问题、查看日志文件详解

    诊断启动问题 服务器启动问题通常在对MySQL配置或服务器本身进行更改时出现.MySQL在这个问题发生时报告错误,但由于多数MySQL服务器是作为系统进程或服务自动启动的,这些消息可能看不到. 在排除 ...

  2. python 实现:如果文件夹不存在就创建,如果文件存在就清空

    python 实现:如果文件夹不存在就创建,如果文件存在就清空! 代码实现: def setDir(filepath):'''如果文件夹不存在就创建,如果文件存在就清空!:param filepath ...

  3. 假设Linux系统中不存在文件newfile,现要创建一个新文件newfile,以下哪个命令无法实现该功能。...

    要创建一个新文件newfile,可以使用Linux系统中的touch命令.例如: touchnewfile 这样就可以在Linux系统中创建一个名为newfile的空文件了. 如果使用的是cp命令,那 ...

  4. git add 所有修改文件_Git管理修改、撤销和删除文件

    备注: 知识点 管理修改 撤销修改 没有`git add`添加到暂存区时的撤销 `git add`添加到暂存区后的撤销 git commit提交后的撤销 删除文件 确定从版本库中删除文件 从暂存区把误 ...

  5. 单文件图片管理php,php封装的单文件(图片)上传类完整实例

    本文实例讲述了php封装的单文件(图片)上传类.分享给大家供大家参考,具体如下: //封装php中的单文件(图片)上传类 /* //参数1:$file 文件数组 5个属性值 name,type,siz ...

  6. 银河麒麟V10系统 syslog和kern.log文件过大问题解决,定时清理日志文件

    文章目录 1. 新建clear_log.sh脚本文件 2. 设置cron任务 3. 解决不执行的方法 需求: 在使用银河麒麟V10系统时,/var/log/kern.log 和 /var/log/sy ...

  7. mysql二进制日志文件差不多_mysql数据同步-基于二进制日志文件和position复制点的方式...

    mysql的binlog日志有三种格式,分别为statement,mixed,以及row. 1.Statement:每一条会修改数据的sql都会记录在binlog中 优缺点:1)不用记录每一行的变化, ...

  8. myeclipse 生成html文件 调用js,MyEclipse怎么创建一个js文件

    优质回答 回答者:牛小凡 点击file -- new -- 输入javascript 然后选择下面的javascript source file 输入名字 ,点击finish 就能新建js文件了,如下 ...

  9. python怎么打印出文件的内容,python怎么将打印输出日志文件

    首先导入sys模块,然后利用sys.stdout将print行导向到你定义的日志文件中,例如:import sys # make a copy of original stdout route std ...

最新文章

  1. NC:潮湿的墙体和家具中微生物迅速增长!
  2. 我为什么选择比特币现金
  3. C1000k 新思路:用户态 TCP/IP 协议栈
  4. SQL SERVER 如果判断text类型数据不为空
  5. [Android]Space控件的应用场景
  6. 类加载、类加载器、反射
  7. #python#练习
  8. BFS广度优先算法, DFS深度优先算法,Python,队列实现,栈实现
  9. java OOP及相关基础知识汇总(转)
  10. 短视频App风起云涌 工具+社交属性聚拢用户
  11. 解决datalist中单选按钮可以多选的问题(Asp.Net)
  12. java宿舍管理系统主要功能_Java学生宿舍管理系统主要内容及特点
  13. php手册 mac版,php中文手册for mac-php中文手册mac版下载v1.0.2 官方最新版__西西软件下载...
  14. web批量打印pdf
  15. vs code 国内镜像源
  16. 贪心算法3——加油站问题
  17. Intellij IDEA 初学入门图文教程(六) —— IDEA 在 Performing VCS Refresh 卡死
  18. java如何画五角星_Java——绘制五角星
  19. Writeup For WeChall
  20. 专业Java报表工具Stimulsoft Reports.Java常见问题解答

热门文章

  1. 网络七层协议之物理层
  2. MVC架构模式(2)
  3. WPF ClickOnce应用程序IIS部署发布攻略
  4. PHP自动测试框架Top 10
  5. linux awk f,linux的awk详情(上)
  6. spring mvc使用html页面,使用Spring MVC的纯HTML页面应用程序
  7. android 官方说明文档,Android官方文档翻译-Accessibility
  8. c语言函数声明定义参数命名,C语言函数声明与定义
  9. httpf发送 json_Java用HttpClient3发送http/https协议get/post请求,发送map,json,xml,txt数据...
  10. 前端开发规范文档(html,css,js)