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} 用户执行周期任务的权限配置文件

    

  

    

Linux中计划任务、周期性任务设置的更多相关文章

  1. Linux任务计划、周期性任务执行

    Linux任务计划.周期性任务执行 周期性任务执行: cron 守护进程(crond):服务,不间断地运行于后台 # service crond {start|stop|status|restart} ...

  2. linux任务计划及周期性任务计划

    相关命令:at.batch.cron.mailx 未来某时间执行一次任务:at, batch 周期性运行某任务: cron 一.未来某时间执行一次任务:at命令 at, batch, atq, atr ...

  3. 【进程/作业管理】篇章四:Linux任务计划、周期性任务执行

    命令归纳: at 未来时间点让特定任务运行一次 batch 未来时间点让系统自行选择在系统资源较空闲的时间去执行指定的任务 corn 周期性任务计划(corntad) at命令详解 <--- 假 ...

  4. 如何在linux中批量建立用户并设置随机密码

    Ubuntu是基于linux的免费开源操作系统,同时也是真正意义上的“多任务多用户”操作系统,既然是多用户系统,自然就涉及到创建多个用户的问题.同时由于Ubuntu系统中的root用户具有最高权限,无 ...

  5. 二十三、Linux任务计划及周期性任务执行:at、crontab命令

    一.概述 未来的某时间点执行一次某任务:at, batch周期性运行某任务:crontab 这两个任务的执行结果:会通过邮件发送给用户 (本地终端用户之间的邮件通知) centos 5,6,7默认开启 ...

  6. Linux任务计划及周期性任务执行:at、crontab命令

    一.概述 未来的某时间点执行一次某任务:at, batch 周期性运行某任务:crontab 这两个任务的执行结果:会通过邮件发送给用户 (本地终端用户之间的邮件通知) centos 5,6,7默认开 ...

  7. Linux中计划任务执行脚本crontab-简洁版

    我使用的是ubuntu16,所以在ubuntu中一切正常,在其他linux系统中应该都差不多. 1 计划任务,crontab命令选项:     -u指定一个用户,     -l列出某个用户的任务计划, ...

  8. Linux 中计划任务-at-cron

    概念-计划任务:在某个时段自动执行某个任务  at:只执行一次 语法:at   时间 服务:atd   必须开启 如没有:yum install at -y 查看服务状态是否开启  systemctl ...

  9. linux中计划任务执行脚本

    我使用的是ubuntu14.4,所以在ubuntu中一切正常,在其他linux系统中应该都差不多. 1 计划任务,crontab命令选项:     -u指定一个用户,     -l列出某个用户的任务计 ...

随机推荐

  1. sublime text 中文显示异常

    本文链接:sublime text 中文显示异常 http://www.cnblogs.com/daysme/p/7549857.html 前言 sublime text 3143 用了一年时候,最近 ...

  2. 【转】myeclipse 自定义视图Customize Perspective 没有反应

    官网查了下,解释如下:   附上链接https://www.myeclipseide.com/PNphpBB2-viewtopic-t-30151.html,大概意思是按如下图所示步骤更新即可.读者可 ...

  3. Codeforces 617 E. XOR and Favorite Number

    题目链接:http://codeforces.com/problemset/problem/617/E 一看这种区间查询的题目,考虑一下莫队. 如何${O(1)}$的修改和查询呢? 令${f(i,j) ...

  4. mariaDB中文乱码

    cetos7 下 http://hongjun.blog.51cto.com/445761/400985 1 .  copy 一个文件成 /etc/my.cnf cp /usr/share/mysql ...

  5. 关于spring boot启动监控端点的方法(spring-boot-starter-actuator)

    前言: 在spring boot的旧版本中,监控端点(如/env)是默认开启的,所以只要项目正常启动,就能通过url获取信息.可是在2.0版本以后,由于安全性考虑,除了/health和/info的端点 ...

  6. 实现一个优先级队列,每次pop 返回优先级最高的元素

    demo1 实现一个按优先级排序的队列, 并且在这个队列上面每次 pop 操作总是返回优先级最高的那个元素 import heapq class PriorityQueue: def __init__ ...

  7. springmvc源码解析(二)

    架构流程: 1.  用户发送请求至前端控制器DispatcherServlet, 2.  DispatcherServlet收到请求调用HandlerMapping处理器映射器.  处理器映射器根据请 ...

  8. java四种访问权限符

    (PS:其中private和protected不能修饰一般的类,否则编译就会报“modifier private not allowed here”,如果是内部类就另当别论了)

  9. 搞定'express' 不是内部或外部命令,也不是可运行的程序或批处理文件

    1 -- 官方下nodejs,一路next完成, node -v 没问题 可以检测到版本号,node环境ok~ 2-- 本地 安装express :npm install express  -g 检测 ...

  10. 2019热门JAVA面试问题

    收到不少读者反馈,说自己在应聘一些中大型互联网公司的Java工程师岗位时遇到了不少困惑. 这些同学说自己也做了精心准备,网上搜集了不少Java面试题,然而实际去互联网公司面试才发现,人家问的,和你准备 ...