作为Linux用户,您可能已经熟悉crontab,它通过按预定义的计划运行命令和脚本来自动执行任务。自动备份等实际应用场景。我们今天不打算讨论crontab的使用,而是展示检查crontab日志的不同方法。查看日志以检查crontab任务是否按计划运行也很有帮助。方法一:查看syslog中的crontab日志。我们在Linux系统目录结构中介绍过,目录/var/log主要用于存放系统、服务、应用产生的日志。虽然cron日志也在这个目录下,但是一般来说这些日志并没有一个标准的文件,不同的Linux发行版将它们保存在不同的文件中。在基于Debian的系统上,cron的日志存储在文件/var/log/syslog中。查看cron相关的日志,可以使用grep命令过滤掉其他日志信息,如下:cat/var/log/syslog|grep-w'cron'在RedHat系统中,cron有一个专门的日志文件:/var/log/cron。此外,检查系统日志文件需要管理员权限。方法2:使用自定义日志文件(推荐)建议使用单独的自定义文件来记录cron作业。为此,您可以配置“rsyslog”来转发cron日志。Rsyslog是一种Linux服务,具有类似于Syslog的日志记录功能。首先你需要创建一个cron.log文件,把它放在/var/log目录下:touch/var/log/cron.log然后编辑/etc/rsyslog.d/50-default.con文件:nano/etc/rsyslog.d/50-default.conf找到以#cron.*开头的行,删除它前面的井号#。保存并关闭文件,然后重启rsyslog服务,查看其状态:sudosystemctlrestartrsyslogsudosystemctlstatusrsyslog一般情况下,服务的状态应该高亮为active(running):现在,当你需要查看crontab日志,你只需要查看自定义日志文件即可:less/var/log/cron.log方法三:使用Cronitor等专用服务来监控cron作业Cronitor是一个可以用来监控cron作业的服务。许多cron版本会在计划的作业开始执行时或出现问题时记录日志,但不会在日志中记录作业的输出和退出。Cronitor是满足所有crontab需求的近乎完美的解决方案。它捕获所有作业的日志、指标和状态,并在任务崩溃或无法启动时提供即时警报。至于如何使用,大家可以到其官网查看。对于安装在Kubernetes上的Cronitor或CronitorCLI,单次执行最多可以抓取100MB的日志。您可以在以下地址查看在Linux中安装CronitorCLI的详细步骤:https://cronitor.io/docs/using-cronitor-cli%23installation其他监控工具和服务(如BetterUptime)也提供cron的自动监控工作职能。系统日志文件对于故障排除和诊断系统相关问题很重要,cron日志也是如此。
