Linux定时器工具-crontab 各參数具体解释及怎样查看日志记录

时间:2023-03-08 17:17:43
Linux定时器工具-crontab 各參数具体解释及怎样查看日志记录

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

service cron start

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

Linux定时器工具-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运行情况。