Cron介绍

2020-09-04  本文已影响0人  JarvisTH

一、介绍

Cron是Linux系统中最有用的工具之一,cron作业是在指定时间到来时被调度执行的作业。Cron本身是一个守护进程,在后台运行,通过配置文件“crontab”来根据时间调度指定的作业执行。

1.1 cron,crontab以及anacron的关系

1.2 crontab配置文件

1.3 注意事项
cron执行的任务会在设定好的时刻执行,当机器处于关机状态下并错过了任务执行的时间,cron任务就无法预期执行了。

二、Cron配置类型

2.1 系统级Crontab
这些cron作业被系统服务和关键作业所使用,且需要root级的权限才能执行。可以在/etc/crontab文件中查看系统级的cron作业。

2.2 用户级Crontab
用户级的cron作业是针对每个用户单独分开的。因此每个用户都可以使用crontab命令创建自己的cron作业,还可以使用以下命令编辑或查看自己的cron作业。

三、 操作**

service cron status
service cron start
crontab -e
crontab -l
SHELL=/bin/bash
MAILTO=root@example.com
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

该文件的前三行代码设置了默认环境。cron守护进程并不提供任何环境。SHELL变量设置当cron任务(命令以及脚本)运行时的shell,MAILTO变量设置cron任务执行结果发送的邮箱,PATH设置去哪些目录下寻找cron任务的命令。注释部分则解释一条cron任务的构成,一条cron任务就是一行,要设置多少条cron任务则写多少行。一条cron任务由七个部分组成。

3.8 cron.hourly、daily、weekly、monthly

示例

4.1 在指定时间调度Cron job作业

#! /bin/sh
echo hello >> /home/ubuntu/workspace/hello.txt
*/1 * * * * /home/ubuntu/crontest.sh

4.2 删除log
4.3 清除cache
脚本中加入
echo 1 > /proc/sys/vm/drop_caches
需要系统级别权限

4.4 备用

#! /bin/sh

# 注释

cd ~/workspace.log
echo "" > trace.log
echo 1 > /proc/sys/vm/drop_caches

copy 到 /etc/cron.hourly/下
注:由于/ etc / crontab文件使用run-parts,因此filename非常严格,不能有点,脚本中不能有~

五、不执行原因**

yum -y install crontabs

...

六、crontab日志讲解

crontab的日志比较简单,当crond执行任务失败时会给用户发一封邮件。

本文介绍crontab在任务执行失败时,如果发送邮件也失败,应该怎样通过增加crontab日志的方式记录错误原因。

默认情况下,crontab中执行的日志写在/var/log下,如:

[root@centos-7-jarvis cron]# ls /var/log/cron*
/var/log/cron           /var/log/cron-20200531  /var/log/cron-20200823
/var/log/cron-20200524  /var/log/cron-20200822

如果日志有问题,可以参考以下做法:

为crontab增加日志

参考:https://blog.csdn.net/qq_38880380/article/details/99625503

上一篇 下一篇

猜你喜欢

热点阅读