linux任务计划及周期性任务计划
相关命令:at、batch、cron、mailx
未来某时间执行一次任务:at, batch
周期性运行某任务: cron
邮件相关命令: mailx
mailx - send and receive Internet mail
邮件存放位置:/var/spool/mail
常用用法:
mailx [-BDdEFintv~] [-s subject] [-a attachment ] [-c cc-addr] [-b bcc-addr] [-r from-addr] [-h hops] [-A account]
[-S vari‐able[=value]] to-addr . . .
简单用法:mailx [-s 'SUBJECT'] username[@hostname]
例1: # mailx -s 'hello' root@alen.ckh.centos
邮件内容
Ctrl + d //发送邮件 # mail //查看当前用户邮件
& 数字# //查看第几封邮件
& delete #: //删除第几封邮件
& q //退出 例2:# mailx -s 'SUBJECT' hadoop@alen.ckh.centos < mail.txt //使用重定向的方式发送邮件给hadoop用户
一、未来某时间执行一次任务:at命令
at, batch, atq, atrm - 排队、检查或删除以后要执行的作业
at命令常用用法:
at [option] TIME
TIME:
HH:MM [YYYY-mm-dd]: 指明时间
noon,midnight,teatime: 中午十二点,午夜十二点,下午四点
tomorrow
now+#{minutes,hours,days,OR weeks}: 某段时间后
提交作业: ctrl + D
常用选项:
-q QUEUE:
-l: 列出指定队列中等待运行的作业,相当于atq
-d #: 删除指定的作业,相当于atrm
-c #: 查看具体某一条作业任务
-f /path/from/somefile:从指定的文件中读取任务
注意: 作业的执行结果以邮件形式通知给相关用户 batch命令: 和at命令类似,但不能指明时间点
让系统自行选择空闲时间去执行此处指定的任务 // 很少让系统自己去选择时间执行任务
二、周期性任务计划:cron命令
相关程序包:
cronie:主程序包,提供了crond守护进程及相关辅助工具
cronie-anacron: cronie的补充程序,用于监控conie任务执行状况,如果cronie中的任务在过去该运行的时间点未能正常运行,则anacron会随后启动一次此任务
crontabs: 包含CentOS提供系统维护任务
确保crond守护进程处于运行状态:
CentOS7: systemctl status crond //如果未运行,则运行进程: systemctl start crond
CentOS6: service crond status //如果未运行,则运行进程: service crond start
计划要周期性执行的任务提交给crond,由其来实现到点运行。
系统cron任务: /etc/crontab
用户cron任务: crontab命令
系统cron任务
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
例如: 每天晚上九点十分运行echo命令:
10 21 * * * gentoo /bin/echo "how are you!"
时间表示法
1.特定值:给定时间点有效取值范围内的值
2.*:给定时间点上有效取值内的所有值,表示“每...”
3.离散取值,#,#,#
4.连续取值:#-#
5.在指定时范围上,定义步长:/#,比如分钟上设置/3表示每3分钟执行
例如:每3小时echo命令
0 */3 * * * gentoo /bin/echo "how"
用户cron:
crontab命令定义,每个用户都有专用的cron任务文件:/var/spool/cron/USERNAME
crontab [-u user] [-l] [-r] [-e] [-i]
-l:列出所有任务
-e:编辑任务
-r:移除所有任务
-i:同-r一起使用,以交互模式让用户有选择的移除指定任务
-u user:仅root可运行,代为为指定用户管理cron任务 注意:运行结果以邮件通知给相关用户
1.如果任务正常执行,不想接收邮件:
(1)COMMAND > /dev/null
(2)COMMAND &> /dev/null
2.命令最好使用绝对路径
3.对于cron任务来说,%有特殊用途;如果在命令中要使用%,则需要转义;不过,如果把%放置于单引号中,也可以不用转义;
如何在秒级别运行任务或不能被60整除的分钟执行任务:
sleep NUMBER[SUFFIX]... //s:秒 m:分钟 h:小时 d:天
* * * * * for min in 0 1 2;do /bin/echo "hi";sleep 20s;done
例1:实现每7分钟运行一次任务
* * * * * /bin/echo "hi";sleep 7m;
练习:
1.每4小时备份一次/etc目录至/backup目录中,保存的文件名称格式为“etc-yyyy-mm-dd-HH..tar.xz”
0 */4 * * * tar -Jcf /backup/etc-$(date +%F-%T).tar.xz /etc
2.每周2,4,7备份/var/log/messages文件至/logs目录中,文件名形如“messages-yyyymmdd.tar.gz”
0 0 * * 2,4,7 tar -zcf /logs/messages-$(date +%Y%m%d).tar.gz /var/log/messages
3.每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至/tmp/meminfo.txt文件中
0 */2 * * * cat /proc/meminfo | grep "^[SM]" >> /tmp/meminfo.txt
4.工作日时间内,每小时执行一次“ip addr show”命令
0 */1 * * 1-5 ip addr show
linux任务计划及周期性任务计划的更多相关文章
- 【进程/作业管理】篇章四:Linux任务计划、周期性任务执行
命令归纳: at 未来时间点让特定任务运行一次 batch 未来时间点让系统自行选择在系统资源较空闲的时间去执行指定的任务 corn 周期性任务计划(corntad) at命令详解 <--- 假 ...
- Linux任务计划、周期性任务执行
Linux任务计划.周期性任务执行 周期性任务执行: cron 守护进程(crond):服务,不间断地运行于后台 # service crond {start|stop|status|restart} ...
- 【Linux】【Services】任务计划、周期性任务执行
Linux任务计划.周期性任务执行 未来的某时间点执行一次某任务:at, batch 周期性运行某任务:crontab 执行结果:会通过邮件发送给用户 ...
- 二十三、Linux任务计划及周期性任务执行:at、crontab命令
一.概述 未来的某时间点执行一次某任务:at, batch周期性运行某任务:crontab 这两个任务的执行结果:会通过邮件发送给用户 (本地终端用户之间的邮件通知) centos 5,6,7默认开启 ...
- Linux任务计划及周期性任务执行:at、crontab命令
一.概述 未来的某时间点执行一次某任务:at, batch 周期性运行某任务:crontab 这两个任务的执行结果:会通过邮件发送给用户 (本地终端用户之间的邮件通知) centos 5,6,7默认开 ...
- Linux课程---13、linux中任务计划介绍(任务计划分类)
Linux课程---13.linux中任务计划介绍(任务计划分类) 一.总结 一句话总结: 1.一次性任务计划:at 2.周期性任务计划:crontab 1.linux中如何添加一次性任务计划? at ...
- linux使用crontab实现PHP执行计划定时任务
linux使用crontab实现PHP执行计划定时任务 前几天写过一篇文章,利用单纯的php实现定时执行任务,但是效率不佳,对于linux来说用crontab实现更加合理 首先说说cron,它是一个l ...
- 计划任务之一次性计划任务(at)和周期性计划任务(crontab)(重点)
一:知识要点 ----计划任务的意义----计划任务分类----用户计划任务crontab----系统计划任务----计划任务使用注意事项----anacron服务介绍 二:计划任务的意义计划任务 - ...
- 用任务计划管理计划任务对付任务计划-禁止WPS提示升级
作为一名至今还在坚守着64位XP的XP用到死星人,因为准备升级电脑,所以准备移民外星,开始使用Windows7.其实我新电脑买来一年了,为了坚守XP,扔在一边没有装(华硕Z9PE-D8 WS主板,双E ...
随机推荐
- Python 模型定义 :通过pymysql和数据模型(models.py)创建mysql表及表结构
一.model的配置 1.创建数据库 2.安装pymysql 3.修改配置文件 数据库连接配置 DATABASES = { 'default': { 'ENGINE': 'django.db.back ...
- 解释器模式 Interpreter
代码例子 参考 1.解释器模式定义 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 说明:解释器模式设计到文法规则和抽象语法树. 2.解释器模式的结构 ...
- XML系列之--创建电文格式的XML(一)
关于XML,学校那会,老师在口中仅仅提及,自己也未曾深入接触过,仅是些将最基本XML文件内容显示在web定义的表格中之类的简单操作,如今项目中的收发电文涉及到复杂XML的操作.趁此契机好好回顾下XML ...
- Tomcat JAR包冲突报错
查看Tomcat下有两个PDF加密的jar包如图: 删除这个bcprov-jdk14-138.jar包,然后重启Tomcat就好了. 这个jar包和Tomcat中的一个包冲突,反复调用导致的. 参考: ...
- npm 代理的设置和取消
管理员权限下的控制台输入: 设置代理 npm config set proxy=http://127.0.0.1:8080 npm config set registry=http://registr ...
- Axis2之wsdl2java工具
本章主要介绍axis2的wsdl2java工具的使用. Axis2提供了一个wsdl2java命令可以根据WSDL文件自动产生调用WebService的代码.wsdl2java命令可以在<Axi ...
- DBUtils (30)
DBUtils是java编程中的数据库操作实用工具,小巧简单实用. DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码. Dbutils三个核心功能介绍 一. QueryRunn ...
- The Little Prince-summary
The Little Prince-summary 这些年 ”寂寞”这个词使用频率越来越高 这些年 不管有钱没钱 有对象没对象的人 入夜时分总是心里空空 不知生活的意义是什么 我们不喜欢一座城市 对一 ...
- Struts2 的 配置
三.Struts2配置 Struts2的核心配置文件 1.名称和位置是固定的 在src下struts.xml 2.Struts根标签 Package Action Result Action Pa ...
- ltp-fcntl36 偶尔出现fail unexpected data offset 20928 value 94
每次出错的都是和posix相关先把结论说了: fn_ofd_w和fn_ofd_r的SAFE_FCNTL参数F_OFD_SETLKW fn_posix_w和fn_posix_r的SAFE_FCNTL参数 ...