任务计划cron

Posted Welcome MyBlog~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了任务计划cron相关的知识,希望对你有一定的参考价值。

在linux中,任务计划分俩:未来时间只执行一次周期性执行

at:未来时间只执行一次

  • -V 显示版本信息
  • -l: 列出指定队列中等待运行的作业;== atq
  • -d: 删除指定的作业;== atrm
  • -c: 查看具体作业任务
  • -f /path/from/somefile:从指定的文件中读取任务
  • -m:当任务被完成之后,将给用户发送邮件,即使没有标准输出
[[email protected] ~]# at 指定时间
at> COMMAND
Ctrl+d  #结束

/var/spool/at/:存放任务计划

/etc/at.{allow,deny}:控制普通用户是执行at任务,如果白名单存在,则只有白名单上的用户可以创建任务计划;如果白名单不存在,黑名单存在,则黑名单以外的用户都可以创建任务计划;如果俩个名单都不存在,则只有管理员可以创建任务计划。

 

时间格式:

  • 绝对时间:HH:MM [YYYY-mm-dd]
  • 相对时间:now + # 时间单位
    • 时间单位:minutes, hours, days, weeks
  • 模糊时间:noon(12:00), midnight(00:00), teatime(16:00)

batch:什么时间有空,什么时候执行

crontab:周期性执行

  • -l: 列出当前任务
  • -e: 编辑任务
  • -r: 移除任务
  • -u username: 给其他用户编辑任务
  • -i:删除任务时提示,配合-r使用

/var/spool/cron/ :存放用户的任务计划

/etc/cron.{allow,deny}  :控制用户创建任务计划黑白名单,同at原理一样

/var/log/cron :日志文件

/etc/cron.hourly/ :每小时执行的脚本

/etc/cron.daily/ :每天执行的脚本

/etc/cron.weekly/ :每周执行的脚本

/etc/cron.monthly/ :每个月执行脚本

[[email protected] ~]# cat /etc/crontab #配置文件
SHELL=/bin/bash #执行任务命令的shell类型
PATH=/sbin:/bin:/usr/sbin:/usr/bin  #执行任务的环境变量
MAILTO=root  #执行任务的用户
HOME=/  #家目录

# 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

时间通配表示:

  • *:对应时间的所有有效取值,每
  • ,:离散时间点,和
  • -:连续时间点,到
  • /:对应取值范围内多久一次,每隔
@reboot 		  :系统启动后执行
@yearly		0 0 1 1 * :每年的1月1号00:00执行一次任务
@annually	0 0 1 1 * :每年的1月1号00:00执行一次任务
@monthly	0 0 1 * * :每月的1号00:00执行一次任务
@weekly		0 0 * * 0 :每周日的00:00执行一次任务
@daily		0 0 * * * :每天的00:00执行一次任务
@hourly		0 * * * * :每小时执行一次任务

 

注意:对于cron任务来讲,%有特殊用途;如果在命令中要使用%,则需要转义

 

记录于:2018.5.5 21:09

以上是关于任务计划cron的主要内容,如果未能解决你的问题,请参考以下文章

cron计划任务

linux计划任务之cron

Ubuntu 计划任务(定时任务)

使用cron实现任务计划

Linux CentOS 8(计划任务_Cron)

Linux CentOS 8(计划任务_Cron)