Linux:计划任务之cron

cron:

  • liunx上计划任务的系统级别、后台执行守护程序;最基本的liunx服务之一!!!
  • 它每一分钟都会检查配置文件的变动情况
  • 它每一分钟都会根据配置文件信息检查任务的执行情况

cron支持多个位置的配置文件:

  1. /var/spool/cron/crontabs/*:每分钟检查一次变动;每个用户有自己单独的配置文件;通过crontab命令编辑配置文件!
  2. /etc/crontab:实时监控;全局配置文件;与之配合的是cron.hourly、cron.daily、cron.weekly、cron.monthly目录下的run-parts任务目录
  3. /etc/cron.d/*:实时监控;全局配置文件

/var/spool/cron/crontabs/*下配置文件的语法、格式:

时间安排部分:支持:域值、列表、范围:使用逗号分隔;高级的有:间隔和别名

第一段:分钟:0-59

第二段:小时:1-23

第三段:日期:1-31

第四段:月份:1-12:可以使用文字名称

第五段:星期:0-7:0和7都表示星期日:可以使用文字名称

任务命令部分:任何有效命令或脚本

第六段:任务命令:任何有效命令或脚本

注:

  • crontab命令总是会更新用户计划任务配置文件的修改时间
  • 配置文件中可以设置需要的环境变量
  • 各段之间使用空格分隔
  • 时间段的月、星期可以使用文字标识
  • 时间段的间隔“/n”、以及时间段的别名不是所有的linux系统都遵循的扩展用法
  • 特殊的时间别名:Instead of the first five fields, one of eight special strings may appear:

              string         meaning
              ------         -------

  1.               @reboot        Run once, at startup.
  2.               @yearly        Run once a year, "0 0 1 1 *".
  3.               @annually      (same as @yearly)
  4.               @monthly       Run once a month, "0 0 1 * *".
  5.               @weekly        Run once a week, "0 0 * * 0".
  6.               @daily         Run once a day, "0 0 * * *".
  7.               @midnight      (same as @daily)
  8.               @hourly        Run once an hour, "0 * * * *".

 

/etc/crontab、/etc/cron.d/*下配置文件的语法、格式:

基本上和用户的配置文件相同,除了在命令段前有一个标识任务所属用户的用户字段

计划任务的用户控制:

/etc/cron.allow:最高优先级文件,只有在列表内的用户才可以使用crontab命令配置自己的计划任务

/etc/cron.deny:次级文件,如果cron.allow文件不存在,只有不在列表内的用户才可以使用crontab命令配置自己的计划任务

:如果cron.allow、cron.deny均不存在,得看系统的默认配置是什么,对ubuntu来说,所有用户都可以使用crontab!

crontab配置命令:

crontab [-u user] file #不知道是何种用法?

crontab [-u user] {-e(编辑用户配置文件)|-l(列出用户的计划任务)|-r(清除用户计划任务)}

 

 

 

 

原文地址:https://www.cnblogs.com/jinzhenshui/p/1655882.html