`

Linux定时器工具-crontab 各参数详解及如何查看日志记录

阅读更多

要使用crontab定时器工具,必须要启动cron服务:

service cron start

crontab的语法,以备日后救急。先上张超给力的图:

 

crontab各参数说明:

 

-e : 执行文字编辑器来编辑crontab,内定的文字编辑器是VI

-r : 删除目前的crontab

-l : 列出目前的crontab(查看专用)

-i : 会和-r 配合使用,在删除当前的crontab时询问,输入y 则删除

注意crontab是分用户的,以谁登录就会编辑到谁的crontab

crontab特殊的符号说明:

"*"代表所有的取值范围内的数字。特别要注意哦!

"/"代表每的意思,如"*/5"表示每5个单位

"-"代表从某个数字到某个数字

","分散的数字

crontab文件的使用示例:

30 21 * * * 表示每晚的21:30

45 4 1,10,22 * * 表示每月1、10、22日的4 : 45

10 1 * * 6,0 表示每周六、周日的1 : 10

0,30 18-23 * * * 表示在每天18 : 00至23 : 00之间每隔30分钟

0 23 * * 6 表示每星期六的11 : 00 pm

* */1 * * * 每一小时

* 23-7/1 * * * 晚上11点到早上7点之间,每隔一小时

* 8,13 * * 1-5 从周一到周五的上午8点和下午1点

0 11 4 * mon-wed 每月的4号与每周一到周三的11点

0 4 1 jan * 一月一号的4点

 

-------------------------------- 如何启动crontab的日志服务 --------------------------------------------------------

发现UBuntu下居然没有自动打开cron的日志服务功能,解决方法如下

cron的日志功能使用syslogd服务,不同版本linux可能装了不同的软件,这里介绍常见的两种:

sysklogd>>>>>>

1. 编辑 /etc/syslog.conf,并且打开以cron.*开始的那行注释。
2. 运行 /etc/init.d/sysklogd restart 。
3. 运行 /etc/init.d/cron restart 。

rsyslog>>>>>>

1. 修改rsyslog文件,将/etc/rsyslog.d/50-default.conf 文件中的#cron.*前的#删掉;
2. 重启rsyslog服务service rsyslog restart
3. 重启cron服务service cron restart

 

-------------------------------- 如何查看crontab的日志记录 --------------------------------------------------------

昨天crontab中的同步任务没有执行,不知道是什么原因没有执行,貌似任务hang住了,想查询一下crontab到底问题出在哪里,或者hang在了什么地方。

1. linux
看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察

2. unix
在 /var/spool/cron/tmp文件中,有croutXXX001864的tmp文件,tail 这些文件就可以看到正在执行的任务了。

3. mail任务
在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可查看最近的crontab执行情况。

分享到:
评论

相关推荐

    swoole-crontab-master.基于swoole的定时器程序,支持秒级处理

    `swoole-crontab-master`这个项目利用了Swoole的定时器功能来实现类似Linux crontab的定时任务管理。在Swoole中,可以通过`Swoole\Timer`类设置定时器,这个类提供了`tick`和`after`两个方法,分别用于创建周期性和...

    vixie-cron-4.1.rar_centos-s002_crontab source code_vixie-cron_vi

    在Linux系统中,crontab是用于设置周期性被执行的任务的工具,它源自著名的Unix系统工具cron。Vixie-cron是cron的一个实现版本,由Paul Vixie开发,广泛应用于多种Linux发行版,包括CentOS。本文将深入探讨vixie-...

    shell编程-awk,sed,crontab

    在Linux系统中,Shell编程是系统管理员和开发者日常工作中...在压缩包中的“awk详解.txt”、“sed详解.txt”和“crontab定时器.txt”文件中,你将找到更深入的解释和实例,帮助你进一步理解和使用这些强大的Shell工具。

    易语言 Crontab 模块源码.zip

    Crontab 是 Linux 系统中用于设置周期性被执行任务的工具,而这个模块则将其功能移植到了易语言环境中,使得在 Windows 平台下也可以利用类似机制实现定时任务。 在【易语言 Crontab 模块源码】中,开发者可以了解...

    Linux秒级间隔的计划任务脚本

    在Linux系统中,计划任务(Cron Job)是自动化任务执行的重要工具,它允许用户设置定期执行的任务。然而,标准的Cron系统通常以分钟为最小时间单位,无法实现秒级别的精度。这篇博客"Linux秒级间隔的计划任务脚本...

    利用Linux中的crontab实现分布式项目定时任务功能

    ### 利用Linux中的crontab实现分布式项目定时任务功能 #### 一、crond服务简介 crond 是 Linux 系统中一个重要的后台服务进程,用于定期执行系统或用户定义的任务。它能够帮助我们自动执行一些周期性的任务,比如...

    Linux常用Shell脚本珍藏

    ### Linux常用Shell脚本知识点详解 #### 一、文件类型判断与操作脚本 ##### 场景背景 在日常的Linux运维工作中,经常会遇到需要判断文件类型并进行相应操作的需求,比如判断某个文件是否为字符设备文件,并将其...

    基于go实现的定时执行器

    6. **日志记录**:为了便于调试和追踪,定时器可能还包括了任务执行日志的记录功能,记录任务的执行状态、错误信息等。 7. **错误处理**:当任务执行失败时,可能会有重试机制或错误通知功能,以确保系统的稳定性和...

    cron定时执行脚本包

    cron定时执行脚本是Linux系统中一种非常重要的自动化任务调度工具,它允许用户预先设定好时间,让系统在特定的时间点自动执行特定的命令或脚本。`crond`服务是cron后台守护进程的简称,它负责解析配置文件并按照预定...

    Spark源码....

    - **Linux定时器**:使用crontab定时执行Shell脚本或命令,用于自动化数据处理任务。 - **Spark技术**:负责核心的数据分析和统计工作,最终将结果保存至MySQL数据库。 - **PHP技术**:用于从前端读取MySQL数据库中...

    unix power tools 3ed.pdf

    - **环境变量**: `.bashrc`, `.profile`等文件的作用及配置方法。 - **自定义命令**: 如何添加自定义别名和函数到shell。 - **shell脚本**: 基础脚本编写技巧。 **2.2 与环境交互 (Chapter 4: Interacting with ...

    用PYTHON脚本实现对LINUX服务器的监控-综合文档

    在Linux中,可以使用cron定时器来安排脚本的执行。在crontab配置文件中添加相应的定时规则,确保脚本在指定时间间隔内自动运行。 五、数据收集与可视化 监控数据的收集可以存储在日志文件中,或使用influxdb等时序...

    cron-learn:cron库的原始码学习

    cron库是Linux系统中的核心组件之一,它负责解析并执行crontab文件中的定时任务。crontab文件包含了用户定义的时间格式和要执行的命令,如每小时执行一次某个脚本。cron库会定期检查这些设置,并在指定时间触发命令...

    详解在Linux中怎么使用cron计划任务

    在Linux系统中,`cron`计划任务是一种自动化执行任务的强大工具,它允许用户或系统管理员在特定的时间点或按照预设的时间间隔运行命令或脚本。这篇文章将深入讲解如何在Linux中配置和使用`cron`服务。 首先,`cron`...

Global site tag (gtag.js) - Google Analytics