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. vs2015 编译时项目出现NuGet程序包还原失败,找不到xxx.xxx.xxx版本的程序包,怎么解决这个问题?

    vs2015 编译时出现这个NuGet程序包还原失败问题,项目还是运行得了,就是每次看到错误列表中有很多个错误,就感觉不舒服. 总算被我找到解决方法了 问题截图:

  2. matlab plot line settings

  3. DLL的Export和Import及extern "C"

    今天使用Unrar.dll,在调用RARProcessFileW时,VS总是提示“error LNK2001: 无法解析的外部符号”. Unrar.dll中是使用 extern "C&quo ...

  4. HTML(六)--总结

    1.行级元素/内联元素 inline 特点: 1)内容决定元素所占位置(所占大小),不独占一行 2)元素之间存在默认大小的间隙 3)不可以通过CSS改变宽高 span strong em a del ...

  5. python,判断操作系统是windows,linux

    import sys,platform print(sys.platform) print(platform.system()) sys.platform: 获取当前系统平台. platform.sy ...

  6. linux生成SSH key

    1. 检查SSH keys是否存在 ls -al ~/.ssh2. 生成新的ssh key 输入 ssh-keygen -t rsa -C your_email@example.com

  7. 三:使用docker-machine安装虚拟机上的docker

    1.docker安装之后自带docker-machine:(需要win10专业版或mac) 2.如何远程管理一个docker-machine?(以下是Mac环境) 关闭本地的docker应用.运行do ...

  8. MyEclipse复制js文件乱码

    MyEclipse复制js文件乱码 右击js文件:

  9. 关于这次安装Oracle

    前后大概经历了一个星期,今天下午(先是用的Navicat)当我尝试性的把用户名上方的复选项从服务名换成SID时,竟然瞬间连接成功了,整个人都是蒙B的,这样就好了? 之后我又用PLsql测试了一下,秒进 ...

  10. Kubenates熟悉

    Kuberetes命令,可用于查看信息和排查故障. kubectl cluster-info --context dev 查看master和服务的地址 kubectl config view 查看ku ...