如何在 Linux 中检查 Crontab 日志

系统 Linux
作为 Linux 用户,你可能已经熟悉 crontab,其可以通过预定义的计划运行命令和脚本来自动化任务。实际的应用场景比如可以自动备份。

​作为 Linux 用户,你可能已经熟悉 crontab​,其可以通过预定义的计划运行命令和脚本来自动化任务。实际的应用场景比如可以自动备份。

我们今天不是要讨论 crontab 的用法,而是展示检查 crontab 日志的不同方法。查看日志也有助于检查 crontab 任务是否按计划运行。

方法1:检查 syslog 中的 crontab 日志

我们在 Linux系统目录结构​ 中介绍过,目录 /var/log 主要用来存储由系统、服务以及应用程序产生的日志。​

虽然 cron 日志也在这个目录中,但一般情况下这些日志没有标准文件,不同的 Linux 发行版将它们保存在不同的文件中。

在基于 Debian 的系统中,cron 的日志存放在文件 /var/log/syslog 中。要查看 cron 相关的日志,可以结合使用 grep 命令来过滤掉其他日志信息,如下命令:

cat /var/log/syslog | grep -w 'cron’

在红帽系统中,cron 有一个专门的日志文件:/var/log/cron

另外,检查 syslog 文件,需要有管理员权限。

方法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 服务并检查其状态:

sudo systemctl restart rsyslog
sudo systemctl status rsyslog

正常情况下,服务的状态应为突显的 active (running)

图片

现在,当需要查看 crontab 日志的时候,只需要查看自定义的日志文件即可:

less /var/log/cron.log

方法3:使用 Cronitor 等专用服务监控 cron 作业

Cronitor 是一个可以用来监视 cron 作业的服务。

许多 cron 版本会在计划任务开始执行的时候,或者出现问题的时候记录日志,但是其作业的输出以及退出不会记录在日志中。

Cronitor 是一个几乎完美的解决方案,可以满足所有 crontab 的需求。它捕获所有作业的日志、指标和状态,并在任务崩溃或无法启动时即时警报。

关于其使用方法,大家可以在其官网查看。

​对于安装在 Kubernetes 上的 Cronitor 或 CronitorCLI,单次执行可以捕获高达100MB的日志。大家可以在如下地址中查看 Linux 中安装 CronitorCLI 的详细步骤:

https://cronitor.io/docs/using-cronitor-cli%23installation

其他监控工具和服务(如Better Uptime)也提供了自动监控cron作业的功能。

系统日志文件对于故障排除和诊断系统相关问题非常重要,cron 日志也一样。

责任编辑:华轩 来源: TIAP
相关推荐

2019-09-16 13:48:03

Linux管理日志

2022-01-17 13:34:45

MySQLLinux数据库

2021-08-30 13:08:54

Linux实时监控日志文件

2009-10-28 13:16:18

linux cront

2020-04-30 13:50:11

Linux网卡信息

2018-07-20 14:20:24

Linux用户组管理员

2022-10-19 21:24:24

临时表空间Oracle

2022-11-07 15:29:06

UbuntuLinuxCPU

2019-03-18 09:00:04

Linux密码cracklib

2019-09-08 15:43:19

UbuntuLinuxIP地址

2023-09-11 11:31:53

VLC日志文件

2020-11-17 11:19:48

Linux磁盘空间

2016-12-20 09:30:22

shell脚本linux

2022-11-03 10:46:58

Linux端口

2020-03-02 14:45:53

Linux编辑字幕命令

2019-08-23 10:42:00

Linux复制文档

2021-04-30 13:19:20

Linux删除分区

2017-01-11 16:41:16

Linux设备文件文件系统

2022-11-01 15:38:22

LinuxShell

2019-08-19 11:20:33

Linux软件包命令
点赞
收藏

51CTO技术栈公众号