当前位置: 首页 > news >正文

linux 计划任务

at

at命令用于在指定时间执行命令。at允许使用一套相当复杂的指定时间的方法指定的日期必须跟在指定时间的后面。
上面介绍的都是绝对计时法,其实还能够使用相对计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为:now + count time-units,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,究竟是几天,还是几小时,等等。 更有一种计时方法就是直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。

语法

at(选项)(参数)

选项

-f:指定包含具体指令的任务文件;
-q:指定新任务的队列名称;
-l:显示待执行任务的列表;
-d:删除指定的待执行任务;
-m:任务执行完成后向用户发送E-mail。

参数

日期时间:指定任务执行的日期时间。

 执行方式:

1)交互式
2)输入重定向 < (也可以多行重定向 << EOF)
3) at –f 文件
依赖与atd服务,需要启动才能实现at任务
at队列存放在/var/spool/at目录中
通过/etc/at.{allow,deny}控制用户是否能执行at任务(白名单优先)
先寻找/etc/at.allow 文件,文件中的使用者才能使用 at ,没有在这个文件中的使用者则不能使用 at (即使没有写在at.deny 当中)
如果/etc/at.allow 不存在,就寻找 /etc/at.deny 这个文件,若写在这个 at.deny 的使用者则不能使用 at ,而没有在这个 at.deny 文件中的使用者则可使用 at 命令。如果两个文件都不存在,只有 root 可以使用 at 这个命令。(相当于一个空的/etc/at.allow文件)

启动at

linux  计划任务
注:不启动不执行

注:Ctrl -d 生效

实例

三天后的下午 5 点锺执行/bin/ls

[root@localhost ~]# at 5pm+3 days
at> /bin/ls
at> <EOT>
job 7 at 2013-01-08 17:00

计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没有执行工作任务

[root@localhost ~]# atq
8 2013-01-06 17:20 a root
7 2013-01-08 17:00 a root

删除已经设置的任务

[root@localhost ~]# atq
8 2013-01-06 17:20 a root
7 2013-01-08 17:00 a root

[root@localhost ~]# atrm 7
[root@localhost ~]# atq
8 2013-01-06 17:20 a root

显示已经设置的任务内容:

[root@localhost ~]# at -c 8
!/bin/sh
atrun uid=0 gid=0
mail root 0
umask 22此处省略n个字符
date >/root/2013.log

以上是一次性计划任务

crontab命令:
>crontab [-u user] [-l | -r | -e] [-i]

选项

-e:编辑任务;

-l:列出所有任务;

-r:移除所有任务;即删除/var/spool/cron/USERNAME文件;

-i:在使用-r选项移除所有任务时提示用户确认;

-u user:root用户可为指定用户管理cron任务;
注意:运行结果以邮件通知给当前用户;如果拒绝接收邮件:
(1) COMMAND > /dev/null 执行了输出到/dev/null
(2) COMMAND &> /dev/null 无论正确和错误都输出到/dev/null

实例:

linux  计划任务
·

转载于:https://blog.51cto.com/14150862/2357786

相关文章:

  • Ant Design 3.14.1 发布,企业级的 UI 设计语言
  • mpvue小程序开发中配置less支持
  • Android Intent传递对象为什么要序列化?
  • Vue源码解读
  • TableStore: 海量结构化数据分层存储方案
  • GitHub Draft Pull请求支持新的协作流程
  • 常用技巧
  • 原生js实现倒计时页面刷新不重新加载
  • word快捷键
  • 干货驾到:Redis5.0支持的新功能说明
  • ENVI图像几何校正
  • 彻底搞懂call、apply和bind
  • Vue对象变化检测
  • corejava基础知识(5)-集合
  • Docker最全教程之使用Docker搭建Java开发环境(十七)
  • 网络传输文件的问题
  • chrome扩展demo1-小时钟
  • js
  • October CMS - 快速入门 9 Images And Galleries
  • Python实现BT种子转化为磁力链接【实战】
  • Quartz初级教程
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • spring boot 整合mybatis 无法输出sql的问题
  • 好的网址,关于.net 4.0 ,vs 2010
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端存储 - localStorage
  • 前端之Sass/Scss实战笔记
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 我感觉这是史上最牛的防sql注入方法类
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • AI算硅基生命吗,为什么?
  • raise 与 raise ... from 的区别
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​linux启动进程的方式
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ###STL(标准模板库)
  • (003)SlickEdit Unity的补全
  • (Note)C++中的继承方式
  • (ZT)出版业改革:该死的死,该生的生
  • (转载)(官方)UE4--图像编程----着色器开发
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET分布式缓存Memcached从入门到实战
  • @PreAuthorize注解
  • @Repository 注解
  • [Angular 基础] - 数据绑定(databinding)
  • [BZOJ 4034][HAOI2015]T2 [树链剖分]
  • [C++]priority_queue的介绍及模拟实现
  • [EFI]ASUS EX-B365M-V5 Gold G5400 CPU电脑 Hackintosh 黑苹果引导文件
  • [flink总结]什么是flink背压 ,有什么危害? 如何解决flink背压?flink如何保证端到端一致性?
  • [HackMyVM]靶场 Quick3
  • [HarekazeCTF2019]encode_and_encode 不会编程的崽