计划任务和周期任务mail,at,batch,atq, atrm, cron, crontab
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相关推荐
- mail,at,batch,sleep小练习
1)如果有自己喜欢的电影,公司服务器,晚上访问量小,带宽使用小,此时用个at让晚上下载或白天用batch命令,让内核决定什么时候下载. 2)如何每天0点对数据库备份或etc目录备份.对于每天重复的事情 ...
- APP开发注册和个人开发计划注册审批周期
APP开发注册整个流程 注册过程比较长,从下图就能看出来步骤需要13项之多:图片下面就是整个步骤,第一部分的1到5是小棍儿注册获得的,余下的部分是从网络找到后整理了一下,非常重要的参考价值! 1.注册 ...
- 敏捷项目管理21天学习计划--敏捷生命周期
前情回顾,上一节我们了解到,敏捷起源的背景.宣言.原则:也对以上做了初步的梳理.今天我们开始揭开敏捷神秘面纱的第二层"生命周期".提到"生命周期"详细大伙一定不 ...
- linux cron crontab anacron 计划任务 定时任务
在linux下,如果想要在未来的某个时刻执行某个任务,并且在未来的每一个这样的时刻里都要执行这个任务.举个简单的例子,比如说想要在将来,每天的十二点都重启路由器,大多数发行版都自带一个守护进程(dae ...
- cron crontab anacron anacrontab Linux下的计划任务
命令/进程 程序位置 读取文件 日志 crond crontab anacron /etc/rc.d/init.d(/etc/init.d) /lib/systemd/system/crond.ser ...
- Linux利用at设置任务自动化,Linux未来任务的调度——at,batch,crontab命令
### 在linux中,我们可以实现对于任务的未来调度,从而可以借助于linux实现半自动化运维操作方式,简而言之就是可以在未来的某个时间点,系统可以自动运行我们部署的任务 前提: 需要一个准确的时间 ...
- linux的任务计划6,Linux计划任务
Linux计划任务: 未来的某个时间执行一次任务,或者周期性执行某个任务,执行结果会通过邮件通知 定时任务:at batch 周期性任务:crontab 系统任务调度:/ect/crontab 用户任 ...
- linux编写周期性计划任务,linux任务计划及周期性任务计划
相关命令:at.batch.cron.mailx 未来某时间执行一次任务:at, batch 周期性运行某任务: cron 邮件相关命令: mailx mailx - send and receive ...
- Linux的简单命令(转)
Linux的简单命令(转) 在Linux系统中有两种操作界面,分别是:X窗口模式(缺省为KDE)和控制台模式(Console).两中操作界面类似于Windows和DOS. 如果在X窗口模式下想转变为控 ...
- Linux笔记 No.19---(swap分区、dd命令、mail发送邮件、定时计划任务at和crontab)
文章目录 一.swap分区 (一)查看Swap分区大小 (二)交换分区的创建 1.以分区形式创建 2.以文件形式创建 (三)swap分区的启动与关闭 (四)swap 优先级 二.dd命令 三.利用ma ...
最新文章
- c语言中gets函数可以输入空格吗_C语言中printf和gets函数的实用技巧
- 小冰和她的兄弟姐妹们组团出道:唱歌跳舞写文章样样都会,而且都开放版权...
- 微信小程序swiper禁止用户手动滑动
- IOS开发之--UIScrollView pagingEnabled自定义翻页宽度
- python上下文管理关键字_详解 Python 中的 with 与 上下文管理器
- 143. Reorder List 重排链表
- Android学习第二天-android常用命令
- hibernate entity使用sequence方式时,id增量50且与sequence值不一致的问题
- 这脑洞绝了!中美合拍动画《哪吒与变形金刚》来了
- CSS Friendly 中的DetailsView的问题
- 《数据库系统概论》第一章笔记
- Android-Universal-Image-Loader学习笔记(二)--LruDiscCache
- kettle将文件路径定义为_Kettle变量和自己定义java代码的实例应用
- vs2010设置 行号显示
- 基于PHP+MySQL的个人网页设计与实现
- MQTT 消息通信工具使用
- 达梦数据库DM8安装配置和使用
- 天颜色十六进制html,RGB颜色值与十六进制颜色码对照表
- put url带参数_问题回答:Http 请求的Post 和Put 的区别
- 基于openssl的EVP对称加密C语言单独实现