实验楼Linux入门:计划任务crontab

介绍

crontab 命令常见于 Unix 和类 Unix 的操作系统之中(Linux 就属于类 Unix 操作系统),用于设置周期性被执行的指令

crontab 命令从输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行。通常,crontab 储存的指令被守护进程激活,crond 为其守护进程,crond 常常在后台运行,每一分钟会检查一次是否有预定的作业需要执行。

通过 crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell   script 脚本。时间间隔的单位可以是分钟、小时、日、月、周的任意组合。

计划任务书写格式

这里我们看一看 crontab 的格式

# 计划任务命令格式说明
# .---------------- 分钟 (0 - 59)
# |  .------------- 小时 (0 - 23)
# |  |  .---------- 日 (1 - 31)
# |  |  |  .------- 月 (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- 星期几 (0 - 6) (周日=0 or 7) 或者 sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * 【这里写到时间后要执行的命令】

比如

每个 1月1日12点30分 执行命令 command

30 12 1 1 * command 

*代表这个时间单位下所有可用的时间点

每个月的每一天的12点30分执行命令 command

30 12 * * * command

,可以分隔多项时间

每个月的每一天的12点30分和40分执行命令 command

30,40 12 * * * command

-可以取一段时间里的所有值

每个月的每一天的12点的30,31,32,33,34,35分钟时执行命令 command

30-35 12 * * * command

/指定了一个步进值

每个月的每一天的12点开始没2分钟执行一次命令 command,直到13:00点之前

*/2 12 * * * command

常用命令

编辑任务

$ crontab -e # Edit

列出当前任务列表

$ crontab -l # List

清空所有任务

$ crontab -r

有时候我们不是需要一些规则特别复杂的定时任务执行,我们只是简单的想让它每天执行一次、每小时执行一次,我们有更简单的办法。

  1. /etc/cron.daily,目录下的脚本会每天执行一次,在每天的 6 点 25 分时运行;
  2. /etc/cron.hourly,目录下的脚本会每个小时执行一次,在每小时的 17 分钟时运行;
  3. /etc/cron.monthly,目录下的脚本会每月执行一次,在每月 1 号的 6 点 52 分时运行;
  4. /etc/cron.weekly,目录下的脚本会每周执行一次,在每周第七天的 6 点 47 分时运行;

系统默认执行时间可以根据需求进行修改。

你可能感兴趣的:(Linux)