ubuntu crontab详解及日志查找

crontab基础知识及用法:

命令格式:crontab [-u username] [-l|-e|-r]
参数:
-u : 只有root才能进行这个任务,也即帮助其他用户新建/删除crontab工作调度;
-e :编辑crontab的工作内容;
-l :删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。

范例:在5月1日23:59发一封信
直接执行crontab -e之后
59 23 1 5 * mail kiki < /home/lover.txt

每项工作的格式都是具有六个字段:
第一个:分钟(0~59)
第二个:小时(0~23)
第三个:日期(1~31)
第四个:月份(1~12)
第五个:周(0~7),数字0或7都代表“星期日”
第六个:就是要执行的命令

特殊字符:
*(星号):代表任何时刻都接受

  • 例如:* 5 * * * command表示无论何月,何日,周几的5点都会执行

,(逗号):代表分割时段的意思。

  • 例如:要执行的任务是在4:00和5:00 就是 0 5,6 * * * command。

-(减号):代表一段时间范围内

  • 例如9点到12点之间每个小时的10时都进行一项工作,就是 10 9-12 * * *

/n(斜线):n代表某一个数字,即表示每隔n单位间隔

  • 例如每一分钟执行一次,就是 /1 * * * command

范例:每五分钟执行一次命令:
0-59/5 * * * * command

查询当前用户中当前的crontab内容:
这里写图片描述

PS:

  • 如果仅仅是想要删除一项工作的话,必须要使用 crontab -e 去编辑
  • 如果想要全部删除的时候才使用 crontab -r
  • 如果统一时刻启动多个流程的话,我们的系统就会变得相当繁忙,可以将分钟数错开,用之前讲过的“,” 逗号。
  • 还有一点是 周与日和月不能同时并存
    -例如30 12 11 9 5 command ,你认为是9月5日并且是周五才会进行,但是系统会判定每,每个周五或每年9月5日分别执行一次。

下面说一先cron日志的问题:

有好多小伙伴可能找不到cron的日志,那是因为Ubuntu系统默认是不打开cron日志的,不信你cd 到/var/log目录下是找不到cron.log文件的。

首先我们把cron日志打开

如何打开,很简单,控制台输入

vi /etc/rsyslog.d/50-default.conf

打开文件,在文件中找到cron.*,把前面的#去掉,保存退出,输入

sudo service rsyslog restart

重启系统日志,然后稍微等下应该就能在/var/log目录下看到cron.log,vi cron.log就可以查看cron运行日志了。

猜你喜欢

转载自blog.csdn.net/k_young1997/article/details/81606667
今日推荐