Linux上的任务计划:

任务计划:

在未来时间点一次性执行某任务:at,batch

周期性执行某任务:crontab

电子邮件服务:

smtp: simple mailtransmission protocol

/var/spool/mail/USERNAME

pop3: post officeprotocol

imap4: internet mailaccess protocol

MUA:mail命令

mail命令:

mail: 进入交互式收发邮件接口;

mail -s'SUBJECT' username@hostname

mail -s'SUBJECT' username@hostname < /PATH/FROM/SOMEFILE

COMMAND |mail -s 'SUBJECT' username@hostname

at  命令:

承载未来时间运行的某作业:

支持使用作业队列:

默认为a队列;

Ctrl+d

at [option]... TIME

TIME:

(1) 绝对时间

HH:MM,

MMDD[CC]YY,MM/DD/[CC]YY, DD.MM.[CC]YY or [CC]YY-MM-DD

tomorrow

(2) 相对时间

now+#UNIT

minute,hour, day, week

(3) 模糊时间

midnight

noon

teatime

常用选项:

-q QUEUE:at作业队列;

-f/PATH/FROM/SOMEFILE:从指定的文件中读取要运行的作业;

-l: 查看作业队列中的等运行作业列表;相当于使用atq命令;

-cAT_JOB_NUM: 查看待运行作业的内容;

-d: 删除指定作业;相当于atrm

batch:

由系统自行选择在资源较为空闲时运行指定的任务;

crontab:周期性任务计划

守护进程:crond

周期性任务有两类:

(1) 系统cron任务;没有默认运行用户身份,所以需要额外指定运行者;

/etc/crontab

vim命令

#Example of job definition:

#.---------------- minute (0 - 59)

#|  .------------- hour (0 - 23)

# |  | .---------- day of month (1 - 31)

#|  | |  .------- month (1 - 12) ORjan,feb,mar,apr ...

#|  | |  |  .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat

#|  | |  |  |

#*  * *  *  * user-name command to be executed

7个字段:

前5个字段:时间点

user-name:以哪个用户的身份运行任务

commandto be executed: 要运行任务

(2) 用户cron任务:由某个用户所提交,默认就以提交者的身份运行,所以无需额外指定运行者;

/var/spool/cron/USERNAME

vim命令;不建议

crontab命令:建议

#Example of job definition:

#.---------------- minute (0 - 59)

#|  .------------- hour (0 - 23)

#|  | .---------- day of month (1 - 31)

#|  | |  .------- month (1 - 12) ORjan,feb,mar,apr ...

#|  | |  |  .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat

#|  | |  |  |

#*  * *  *  * command to be executed

5个时间点:

分钟:有效取值范围0-59;

小时:0-23

日:1-31

月:1-12

周几:0-7

注意:几月几号与周几,不建议同时使用;

例如:

6* * * *

时间表示法:

*:对应时间点有效取值范围内的每个时间点;

-:一个特定连续时间范围,3-7

,:一个离散的时间点,3,5,7

/#:有效时间范围内的每多少时间;用于指定频率;

1-30/4,*/4

5*/3 * * * /bin/echo "howdy"

57 * * 1-5 /bin/echo "howdy"

crontab命令:

crontab[-u user] [-l | -r | -e]

-uuser: 不是管理自己的cron任务,而是指定的目标用户的cron任务;仅root拥有管理其它用户的cron任务的权限;默认管理自己的;

-l:list,列出任务;

-r:remove, 移除所有任务;

-e:edit,编辑,打开一当前shell会话的默认编辑器来编辑cron任务表;

思考:

1、如果想实现每8分钟运行一次某任务?

2、如果想实现每10秒钟运行一次某任务?

补充性的工具:anacron:

注意:

(1)如果不想接收任务执行结果的通知邮件:

COMMAND> /dev/null

COMMAND&> /dev/null

(2)对于crontab文件来讲,%有特殊功用;如果命令中会出现%,要记得转义,或者用单引号对其引用;

(3)crontab的PATH变量与用户的变量不完全相同,所以,建议在cron中的任务要使用绝对路径

/root/bin/a.sh

转载于:https://blog.51cto.com/weine100/1691690

计划任务和周期任务mail,at,batch,atq, atrm, cron, crontab相关推荐

  1. mail,at,batch,sleep小练习

    1)如果有自己喜欢的电影,公司服务器,晚上访问量小,带宽使用小,此时用个at让晚上下载或白天用batch命令,让内核决定什么时候下载. 2)如何每天0点对数据库备份或etc目录备份.对于每天重复的事情 ...

  2. APP开发注册和个人开发计划注册审批周期

    APP开发注册整个流程 注册过程比较长,从下图就能看出来步骤需要13项之多:图片下面就是整个步骤,第一部分的1到5是小棍儿注册获得的,余下的部分是从网络找到后整理了一下,非常重要的参考价值! 1.注册 ...

  3. 敏捷项目管理21天学习计划--敏捷生命周期

    前情回顾,上一节我们了解到,敏捷起源的背景.宣言.原则:也对以上做了初步的梳理.今天我们开始揭开敏捷神秘面纱的第二层"生命周期".提到"生命周期"详细大伙一定不 ...

  4. linux cron crontab anacron 计划任务 定时任务

    在linux下,如果想要在未来的某个时刻执行某个任务,并且在未来的每一个这样的时刻里都要执行这个任务.举个简单的例子,比如说想要在将来,每天的十二点都重启路由器,大多数发行版都自带一个守护进程(dae ...

  5. cron crontab anacron anacrontab Linux下的计划任务

    命令/进程 程序位置 读取文件 日志 crond crontab anacron /etc/rc.d/init.d(/etc/init.d) /lib/systemd/system/crond.ser ...

  6. Linux利用at设置任务自动化,Linux未来任务的调度——at,batch,crontab命令

    ### 在linux中,我们可以实现对于任务的未来调度,从而可以借助于linux实现半自动化运维操作方式,简而言之就是可以在未来的某个时间点,系统可以自动运行我们部署的任务 前提: 需要一个准确的时间 ...

  7. linux的任务计划6,Linux计划任务

    Linux计划任务: 未来的某个时间执行一次任务,或者周期性执行某个任务,执行结果会通过邮件通知 定时任务:at batch 周期性任务:crontab 系统任务调度:/ect/crontab 用户任 ...

  8. linux编写周期性计划任务,linux任务计划及周期性任务计划

    相关命令:at.batch.cron.mailx 未来某时间执行一次任务:at, batch 周期性运行某任务: cron 邮件相关命令: mailx mailx - send and receive ...

  9. Linux的简单命令(转)

    Linux的简单命令(转) 在Linux系统中有两种操作界面,分别是:X窗口模式(缺省为KDE)和控制台模式(Console).两中操作界面类似于Windows和DOS. 如果在X窗口模式下想转变为控 ...

  10. Linux笔记 No.19---(swap分区、dd命令、mail发送邮件、定时计划任务at和crontab)

    文章目录 一.swap分区 (一)查看Swap分区大小 (二)交换分区的创建 1.以分区形式创建 2.以文件形式创建 (三)swap分区的启动与关闭 (四)swap 优先级 二.dd命令 三.利用ma ...

最新文章

  1. c语言中gets函数可以输入空格吗_C语言中printf和gets函数的实用技巧
  2. 小冰和她的兄弟姐妹们组团出道:唱歌跳舞写文章样样都会,而且都开放版权...
  3. 微信小程序swiper禁止用户手动滑动
  4. IOS开发之--UIScrollView pagingEnabled自定义翻页宽度
  5. python上下文管理关键字_详解 Python 中的 with 与 上下文管理器
  6. 143. Reorder List 重排链表
  7. Android学习第二天-android常用命令
  8. hibernate entity使用sequence方式时,id增量50且与sequence值不一致的问题
  9. 这脑洞绝了!中美合拍动画《哪吒与变形金刚》来了
  10. CSS Friendly 中的DetailsView的问题
  11. 《数据库系统概论》第一章笔记
  12. Android-Universal-Image-Loader学习笔记(二)--LruDiscCache
  13. kettle将文件路径定义为_Kettle变量和自己定义java代码的实例应用
  14. vs2010设置 行号显示
  15. 基于PHP+MySQL的个人网页设计与实现
  16. MQTT 消息通信工具使用
  17. 达梦数据库DM8安装配置和使用
  18. 天颜色十六进制html,RGB颜色值与十六进制颜色码对照表
  19. put url带参数_问题回答:Http 请求的Post 和Put 的区别
  20. 基于openssl的EVP对称加密C语言单独实现

热门文章

  1. 程序员的爱情最纯洁?
  2. 牛人在chinaren上的经典歌曲集
  3. C++写入并追加内容到txt中
  4. 使用较广泛的安全测试工具有哪些?
  5. perl 模块下载安装
  6. perl安装的详细步骤
  7. 浏览器主页被劫持篡改为hao123或者别的网页解决方法
  8. 大于/小于/等于 的缩写
  9. python最大公约数计算_Python怎样求得最大公约数
  10. 06.Spring Cloud OpenFeign:基于Ribbon和Hystrix的声明式服务调用