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. Vscode extensions开发

    Vscode extensions开发   1◆ generatorcode install npm install -g yo generator-code     2◆ 步骤 yo code   ...

  2. Oracle中如何停止正在执行SQL语句

    oracle的用P/SQL客户端中,如何停止正在执行的SQL语句? 我们使用oracle语句查询某个表时,如果查询的表数据太多,如何停止正在执行操作 如查询的表数据超过上万条时,如何停止查询操作

  3. learning ddr reset initialization with stable power

  4. day06_python_1124

    01 昨日内容回顾 字典: 增: setdefault() 有责不变,无责添加 dic['key'] = vaulue 删: pop 按照key pop('key') pop('key',None) ...

  5. spoj705

    题解: 后缀数组求出height 然后ans=所有串-所有height 代码: #include<bits/stdc++.h> using namespace std; ; int t,a ...

  6. @ResponseBody中文乱码解决方案

    java web项目,使用了springmvc4.0,用@ResponseBody返回中文字符串,乱码$$ 本以为很简单的问题,不过也找了一个小时. 网上有说这样配置的: <mvc:annota ...

  7. Struts1的基础知识

    struts1.0的配置 在web.xml文件中的配置 <servlet> <!--配置ActionServlet类,一启动就创建该类对象--> <servlet-nam ...

  8. flask项目结构(一)mariadb

    简介: 本文主要是根据自己所学,创建一个flask项目,使用sqlalchemy,alembic,mariadb,bootstrap,APScheduler,selenium,request…………技 ...

  9. 每天CSS学习之direction

    direction是CSS2的属性,它的作用是规定文字书写的方向. 1.ltr:从左到右,即left to right.该值为默认值.如下所示: div{ border:1px solid red; ...

  10. awk使用教程

    gawk - pattern scanning and processing language 基本用法:gawk [options] 'program' FILE ... program:PATTE ...