Linux中计划任务、周期性任务设置

计划任务:指在未来的特定时间里,执行一次某一特定任务。当然,如果同一任务需要在不同时间点执行执行两次、三次或多次,可以视为多个一次看待。

周期性任务:指某一任务需要周期性的执行。周期性可以是以分、时、天等为单位,但又不限于这些单位。

常用于执行计划任务的命令——at, batch, 与周期性任务相关的的命令crontabs。

1.at命令和batch命令的区别。

  at命令旨在特定的之间执行任务;batch命令设置的任务由系统选择空闲时间去执行,空闲时间默认为cpu利用率小于0.8的时候

2.at命令 

格式  
    at [option] TIME 选项 -l     atq命令的别名,显示用户的计划任务   
-d     atrm命令的别名,清空计划任务
-c     查看特定的计划任务
-f FILE 从文件中读取计划任务命令  TIME,有如下几种格式
    HH:MM [YYYY-mm-dd]
    noon, midnight, teatime
    tomorrow
    now+#{minutes,hours,days, weeks} 注:batch命令使用方法和at类似,这里不再赘述
 

3. crontabs命令

a. 与cron服务相关的程序包有三个:

  cronie:主程序包,提供crond守护进程及相关辅助工具

  cronie-anacron:cronie的补充程序,用于监控cronie任务执行

  crontabs: 包含CentOS提供系统维护任务

b. 周期任务分类。根据用户级别,可分为系统周期任务和用户周期任务。

c. 系统周期任务一般直接直接修改/etc/crontab文件,即可配置周期任务, 可查看该文件中的内容

[root@vathe-pc tmp]#cat /etc/crontab
SHELL=/bin/bash             
PATH=/sbin:/bin:/usr/sbin:/usr/bin     # 环境变量路径
MAILTO=root                    # 周期任务执行之后,邮件接受者
HOME=/ # For details see man crontabs # Example of job definition:          # 计划任务书写格式
# .---------------- minute ( - )   
# | .------------- hour ( - )
# | | .---------- day of month ( - )
# | | | .------- month ( - ) OR jan,feb,mar,apr ...
# | | | | .---- day of week ( - ) (Sunday= or ) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

  d. 周期任务中,通过/etc/crontab文件可知,有5个与时间相关的选项,这些选项有如下规则:

a.特定值 #
  例如: 5    或   20

b.可使用*表示任意值
c. 离散值用逗号隔开
    例如: 5,6,2   或者 0,3
d. 连续值用短折线“-”表示

  例如:10-21

e. 可使用正斜线“/”’步长:
  例如: */3

  e. 配置用户周期任务时,可以直接使用

    crontabs -e

     编辑相关配置文件,文件格式和/etc/crontab类似,只是不需要填写user-name选项。其他选项:

crontab   -e     直接编辑文件
-l 查看周期任务
-r 清空周期任务 -i 交互模式
     -u USER: 仅root可运行,指定以特定用户身份执行该周期任务

  f. 用户周期任务,有自己独有的时间格式, @CMD——可代表特定周期时间

@rebootRun once after reboot.
@yearly0 *
@annually0 *
@monthly0 * *
@weekly0 * *
@daily0 * * *
@hourly0 * * * *

4. 相关的配置文件

/etc/crontab
/etc/cron.d/ 配置文件
/etc/cron.hourly/ 脚本
/etc/cron.daily/脚本
/etc/cron.weekly/脚本
/etc/cron.monthly/脚本

/etc/anacrontab      负责执行以上/etc/cron.hourly/等文件中的系统任务

/var/spool/cron/    用户周期任务配置文件

/etc/cron.{allow,deny} 用户执行周期任务的权限配置文件

    

  

    

最新文章

  1. js实现四大经典排序算法
  2. Android开发学习之路-使用annotationProcessor配置Butterknife
  3. 2016HDU校赛
  4. Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)
  5. Myeclipse报PermGen space异常的问题
  6. 新机上岗 Core i7-4790 @ 3.60GHz 四核 / 16 GB ( 金士顿 DDR3 1866MHz ) / GeForce GTX 970 ( 4 GB / 七彩虹 )
  7. paper 63 :函数比较:imfilter与fspecial
  8. 浅谈 MVP in Android
  9. ZOJ 1029 Moving Tables
  10. 路由设置 windows
  11. IPoint从自定义的投影坐标系转换到自定义的地理坐标系
  12. 修改ECSHOP注册只需要email,并且使用email作为账号
  13. hadoop1中partition和combiner作用
  14. perl post 请求带参数
  15. MongoDB 索引篇
  16. AtCoder Regular Contest 071
  17. iOS下使状态栏颜色与H5中背景色一致
  18. day 12 名称空间和闭包函数
  19. C# 异步上传图片案例
  20. XHR对象

热门文章

  1. Print a file's last modified date in Bash
  2. awk - group adjacent rows by identical columns
  3. asp.net mvc 加三层架构 完美搭配
  4. C# 里调用vb的inputbox弹出窗
  5. .net 打包下载
  6. 理解 Redis(3) - 字符串值
  7. Oracle Single-Row Functions(单行函数)——NULL-Related Functions
  8. ERROR: child process failed, exited with error number 100
  9. Codeforces 1043 F - Make It One
  10. Mac Python PyQt5 环境搭建