Linux定时任务计划

在使用Linux系统时,我们有时会需要让系统在某个时间去执行特定的任务,这时就需要去了解Linux提供的定时任务功能

种类

Linux的定时任务分为两种:单一型和循环型

单一型:at

atd启动

at:是一个可以处理仅执行一次就结束的命令,执行at时,必须开启atd服务.
使用/etc/init.d/atd statussystemctl status atd来查看atd服务状态.

如果系统中没有此服务,可以使用yum -y install at来安装.安装后,再来查看atd状态.

安装后是关闭状态,执行systemctl start atd开启即可.

systemctl enable atd设置开机启动,可以使用systemctl list-unit-files | grep atdsystemctl is-enabled atd来确认是否设置成功

at执行方式

  • at将要执行的工作以文本的方式写入/var/spool/at/中,等待atd服务的调用与执行.
  • 可以通过/etc/at.allow/etc/at.deny两个文件来管理at的使用权限
    1. 先查询/etc/at.allow文件,只有存在此文件中的用户才能使用at
    2. 如果/etc/at.allow文件不存在,则寻找/etc/at.deny,存在于/etc/at.deny中的用户则不能使用at
    3. 如果上述两个文件都不存在,则只有root才能使用at
    4. /etc/at.allow的优先级要高于/etc/at.deny

at基本用法

使用man at可以查看at的用法

常用参数:
-m:at工作完成后,发送Email告知用户工作已完成.
-l:atq的别名,列出系统上所有该用户的at工作.
-d:atrm的别名,取消一个at工作.
-v:使用易读的时间格式列出at工作列表.
-c:列出某项工作的具体内容,后面要加上某工作的id,如at -c 6
添加任务示例:





删除任务示例:

batch:系统空闲时才会执行

batch当cpu负载小于0.8时,才会执行设定的工作任务.添加任务时不需要指定时间,系统会在空闲时自动执行,其他操作同at,如:

循环型:crontab

crond启动

使用systemctl start crond来启动服务

crontab权限管理

at相似

  • /etc/cron.allow:写在其中的账号可以使用crontab
  • /etc/cron.deny:写在其中的账号被禁止使用crontab

crontab命令语法

使用crontab -e会进入vi编辑页面,一项任务一行:* * * * * command

  • 第一列表示分钟,取值范围:0-59,*/30表示每30分钟执行
  • 第二列表示小时,*代表每个小时都会执行
  • 第三列表示每月的第几天,取值:1-31
  • 第四列表示月份,取值:1-12
  • 第五列表示每周的第几天,取值:0-7,0和7都代表周日
  • 第六列表示要执行的命令
  • 取值除了用*,也可以使用,-表示:如10,20,30 * * * 1-5 command表示在工作日的每10分钟,20分钟,30分钟执行

使用crontab -l来查看当前已设定的任务:

使用crontab -r删除所有设定的任务,如果需要删除某项特定的任务,需使用crontab -e进入到编辑页面,然后删除指定行

Linux定时任务计划的更多相关文章

  1. linux 定时任务计划

    crond: unrecognized service 无crond解决办法 安装计划任务:yum -y install vixie-cron

  2. linux 的计划任务 定时任务

    linux的计划任务,也叫做定时任务 https://www.cnblogs.com/mingforyou/p/3930636.html 名字是crond 查看linux本机的定时任务 crontab ...

  3. 如何让Linux定时任务crond以秒为单位执行(如每隔3秒)

    需要用到Shell脚本每隔3秒钟去监控一个软件进程的运行状态,发现crond似乎只支持到分,不知道秒,怎么办呢? 第一种方法: 当然首先想到的是写一个触发的脚本,在触发脚本中使用死循环来解决此问题,如 ...

  4. Linux任务计划

    Linux任务计划: 一次性任务执行(at.batch): at:定时任务,指定一个时间执行一个任务,只能执行一次. at使用方式: 交互式:让用户在at>提示符输入多个要执行的命令: 批处理: ...

  5. 工作中linux定时任务的设置及相关配置

    工作中会用到定时任务,来处理以前采集来的数据备份, 每周一凌晨4点执行一次    0 4 * * */1 find/data/templatecdr/oracle/dcndatabak/ -type ...

  6. (转载)Linux定时任务cron配置

    (转载)http://blog.csdn.net/jbgtwang/article/details/7995801 实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务 ...

  7. linux定时任务cron配置

    实现linux定时任务有:cron.anacron.at,使用最多的是cron任务 名词解释 cron--服务名:crond--linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与 ...

  8. Linux操作系统计划任务

    ++++++++++++++++++++++++++++++++++++++++++++++++标题:Linux操作系统的计划任务内容:计划任务分为单次任务和周期性任务,周期任务分为系统级计划任务和用 ...

  9. 【转帖】Linux定时任务Crontab命令详解

    Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...

随机推荐

  1. python javar send

    # -*- coding: utf-8 -*-import jpypeimport os.pathjarpath = os.path.join(os.path.abspath('.'), 'axja' ...

  2. shell 变量介绍

    变量命名规则 变量名必须以字母或下划线开头,名字中间只能由字母,数字和下划线组成,大小写是区分的 变量名的长度不得超过255个字符 变量名在有效的范围内必须是唯一的 在Bash中,变量的默认类型都是字 ...

  3. java将字符串根据空格进行分割,使用split方法

    public class D { public static void main(String[] args) { String b = "Hello Java World"; S ...

  4. sqlalchemy 模型中添加根据身份证号计算性别和年龄

    class Users(Base, BaseMixin): username = Column(String(24)) id_Num = Column(String(18) ) # 身份证号码 @pr ...

  5. elasticsearch基本操作之--使用QueryBuilders进行查询

    /** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ QueryBuilder 是es中提供的一个查询接口, 可以 ...

  6. VSTO:使用C#开发Excel、Word【1】

    <Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...

  7. springmvc添加拦截器

    springmvc.xml配置如下: 除了 sysFile 下的所有接口,以及user下的loginUser接口,其他的所有接口都会经过拦截器UserInterceptor处理 <mvc:int ...

  8. bootstrap 下拉选中查询

    <div class="form-group"> <label class="col-lg-3 col-sm-2 control-label" ...

  9. .tar.gz 和.tgz 解压

    wget   {url} 下载 eg: wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apac ...

  10. suse_linux 11 sp3 安装 was7

    1.安装操作系统 suse linux 11 1.创建虚拟机 2.下一步 3.稍后安装操作系统,下一步 4.选择操作系统 5.选择存储目录 6.下一步 7.完成 8.编辑虚拟机 9.内存1G,CD/D ...