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. RocketMQ3.2.2生产者发送消息自动创建Topic队列数无法超过4个

    问题现象 RocketMQ3.2.2版本,测试时尝试发送消息时自动创建Topic,设置了队列数量为8: producer.setDefaultTopicQueueNums(8); 同时设置broker ...

  2. 在Jenkins中集成Sonarqube

    Analyzing with SonarQube Scanner for MSBuild Global Configuration This step is mandatory if you want ...

  3. 【修改密码】Linux下修改Mysql的用户(root)的密码

    修改的用户都以root为列.一.拥有原来的myql的root的密码: 方法一:在mysql系统外,使用mysqladmin# mysqladmin -u root -p password " ...

  4. 题解——CF Manthan, Codefest 18 (rated, Div. 1 + Div. 2) T4(模拟)

    随便模拟下就过了qwq 然后忘了特判WA了QwQ #include <cstdio> #include <algorithm> #include <cstring> ...

  5. 深度学习课程笔记(二)Classification: Probility Generative Model

    深度学习课程笔记(二)Classification: Probility Generative Model  2017.10.05 相关材料来自:http://speech.ee.ntu.edu.tw ...

  6. Docker 开发概述

    This page lists resources for application developers using Docker. Develop new apps on Docker If you ...

  7. 3、Python迭代器、列表解析及生成器(0530)

    1.动态语言 sys.getrefcount()    //查看对象的引用计数 增加对象的引用计数场景 对象创建时:以赋值的方式,创建变量名的同时就会创建变量 将对象添加进容器时:类似list.app ...

  8. 记时,耗时,Stopwatch

    public static string InvokeStopwatch(Action function) { System.Diagnostics.Stopwatch sw = new System ...

  9. java stackoverflowerror与outofmemoryerror区别(转)

    1.stackoverflow: 每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保持线程运行状态:当线程调用一个方法是,jvm压入一个新的栈帧到这个线程的栈中 ...

  10. Linux CentOS 7 安装mongoDB(4.0.6)

    在官网下载安装包: https://www.mongodb.com/download-center/community 或者通过wget下载 wget https://fastdl.mongodb.o ...