Linux命令:任务计划Cron,at,batch

任务计划:

1、在未来的某个时间点执行一次某任务;

at     指定时间执行

batch  空闲时间执行

at 时间

at>COMMAND

at>Ctrl+d

指定时间:

绝对时间:HH:MM, DD.MM.YY  MM/DD/YY

相对时间:now+#

单位:minutes,hours, days, weeks

模糊时间:noon, midnight, teatime

命令的执行结果:将以邮件的形式发送给安排任务的用户

[[email protected] tmp]# at now+1min

at> ls /tmp           
at> <EOT>     #按ctl + d
job 2 at 2016-12-02 17:17

[[email protected] tmp]# at -l      相当于atq
3    2016-12-02 17:17 a root

[[email protected] tmp]# at -d     相当于atrm
3    2016-12-02 17:17 a root

2、周期性地执行某任务;

cron命令简介:

linux中有一个命令可以定期来执行系统任务。这就是crond服务。

1.命令格式:

cron   [选项][文件]

crontab -l    //列出当前的所有调度任务

crontab -l -u jp   //列出用户jp的所有调度任务

crontab -r    //删除所有任务调度工作

crontab -e

Minute Hour Day Month Dayofweek command

分钟 小时 天 月 天每星期 命令

Minute 每个小时的第几分钟执行该任务

Hour 每天的第几个小时执行该任务

Day 每月的第几天执行该任务

Month 每年的第几个月执行该任务

DayOfWeek 每周的第几天执行该任务

2.命令功能:

cron:自身是一个不间断运行的服务   service crond {start|stop|restart|reload|status}

anacron:cron的补充,让cron因为各种原因在过去的时间该执行而未执行的任务在恢复正常执行一次

系统cron任务:

/etc/crontab

分钟  小时  天  月  周  用户  任务

用户cron任务:

/var/spool/cron/USERNAME

分钟  小时  天  月  周  任务

时间的有效取值:

分钟:0-59  小时:0-23  天:1-31  月:1-12  周:0-7,0和7都表示周日

时间通配表示:

*    对应时间的所有有效取值

3 * * * *

3 * * * 7

13 12 6 7 *

,    离散时间点: 10,40 02 * * 2,5

-    连续时间点: 10 02 * * 1-5

/#   对应取值范围内每多久一次:   */3 * * * *

5 * * * * ls //指定每小时的第5分钟执行一次ls命令

30 5 * * * ls //指定每天5:30执行一次执行ls命令

40 7 18 * * ls //指定每月18号的7:40分执行ls命令

30 5 18 6 * ls //指定每年的6月18日5:30执行ls命令

50 6 * * 0 ls //每星期日的6:50执行ls命令 [可用英文表示,sun表示星期天,mon星期一]

30 3 10,20 * * ls //每月10号及20号的3:30执行ls命令 [“,”连接多个不连续的时段 ]

25 8-11 * * * ls //每天8-11点的第25分钟执行ls命令 [“-”连接连续的时段 ]

*/15 * * * * ls //每15分钟执行一次[即每个小时的第0 15 30 45 60分钟执行ls命令]

0 */7 * * * ls //指定每7小时执行一次ls命令[即每天的第0 7 14 21点整执行ls命令]

* */7 * * * ls //每天7小时执行一次ls命令[即每天的第0 7 14 21点的一小时中的每分钟]

30 6 */10 * * ls //每月每隔10天6:30执行一次ls命令[每月的1、11、21、31日的6:30]


每天7:55以root 身份执行/etc/cron.daily目录中的所有可执行文件

55 7 * * * root run-parts /etc/cron.daily //[红色表示执行后面目录中的所有可执行文件]

每两小时执行一次:    08 */2 * * *

每两天执行一次:     10 04 */2 * *

执行结果将以邮件形式发送给管理员:命令要绝对路径

*/3 * * * * /bin/cat /etc/fstab  > /dev/null   #正常结果清除,错误结果仍发邮件

*/3 * * * * /bin/cat /etc/fstab  &> /dev/null   #所有结果清除

cron的环境变量:cron执行所有命令都去PATH环境变量指定的路径下去找

#!/bin/bash

PATH /bin:/sbin:/usr/bin:/usr/sbin  #定义PATH环境变量

#如去掉参数rum-parts,后面就可以写要运行的某个脚本名,而不是文件夹名了

01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

[[email protected] etc]# ls cron*
cron.deny  crontab
cron.d:
0hourly  sysstat
cron.daily:
logrotate  makewhatis.cron  mlocate.cron  prelink  readahead.cron  tmpwatch
cron.hourly:
0anacron  mcelog.cron
cron.monthly:
readahead-monthly.cron
cron.weekly:
99-raid-check

[[email protected] etc]# ls /var/spool/cron/
hadoop

---end---

时间: 2024-09-29 05:10:28

Linux命令:任务计划Cron,at,batch的相关文章

Linux的任务计划--cron入门

Linux操作系统定时任务系统 Cron 入门 cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动.关闭这个服务: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 你也可以将

Linux命令学习计划【sed】

引言: Sed命令是linux里用于文本行处理的命令. 为了便于说明,我在/usr/dict下创建了字典words并以此作为演示模板 先用nl 打印下words内容: *打印篇: Q1:如何打印某一行数据? 如果要打印第一行数据,则使用: sed –n 1p words 如果要打印最后一行数据,则使用: sed –n ‘$p’ words 注意的是:如果是某个具体的行号,并不需要加引号,如果含’$’等特殊字符或某些模式匹配的时候需要加引号. 你会想,仅仅是能看到头行和结尾行的数据,有什么稀奇的?

【Linux】 任务调度/计划 cron

实时查看日志: tail -f /var/log/cron 显示任务调度 bash#crontab -u username -l 编辑 bash#crontab -u username -e 内容: * * * * * commandLine 含义: #分钟0-59 | 小时0-23 | 日期1-31 | 月份1-12 | 星期几0-6 # * * * * * sample: 0 */2 * * * /sbin/service httpd restart 30 6 */10 * * ls 意思是

Linux计划任务at&batch&crontab

计划任务        执行一次某任务:at,batch        周期性运行某任务:crontab    1.at命令,只执行一次 at/atq/atrm/batch    at [option]... time        HH:MM[YYYY-mm-dd] //        noon,midnight,teatime //12:00,24:00,16:00        tomorrow HH:MM         now+#            UNIT:minutest,ho

计划任务 at &nbsp; batch &#160; cron anacron

在使用Linux的过程中,我们有时需要使用一些定时任务的功能,Linux上常用的计划任务工具有at.batch和cron.anacron,下面我就来简单的说一说. at:仅执行一次就从Linux的计划任务中取消 batch:系统有空就执行 cron:周期性执行 anacron:唤醒停机期间的工作任务 (一).at (*依赖于atd服务,需先手动安装 *) [[email protected] ~]# yum -y install at [[email protected] ~]# systemc

Linux学习之计划任务(at、batch、vrontab)篇

Linux学习之任务计划(at.batch.vrontab)篇 一.linux上的任务计划 1.分类 linux上的任务计划可以分为两类: a.周期性执行的任务计划 crontab b.后续时间一次性执行的计划 at.batch 2.电子邮件服务 电子邮件服务使用到的几个协议: smtp:simple mail transmission protocol pop3:post office protocol imap4:internet mail access protocol 没个用户的都有一个

Linux操作系统定时任务系统Cron入门、PHP计划任务以及rpc示例

一.简单介绍 1.cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动.关闭这个服务: service cron start //启动服务 service cron stop //关闭服务 service cron restart //重启服务 service cron reload //重新载入配置 2.直接用crontab命令编辑  cron服务提供crontab命令来设定cron服务的,以下

linux周期性任务计划 at及cron的简单总结

一次性任务计划:at,batch 周期性任务计划:cron at:简单用法 at TIME at> 提交任务:^c+d 作业结果:以邮件形式发送系统上的当前用户 邮件收发: 服务启动与否状态查看命令: netstat -tnl |grep ":25" 默认收发邮件仅在本机上的用户间进行,且只能通过回环接口上的地址进行. # mail q:退出 N:查看第N封邮件 发邮件给指定用户(系统内): # mail USERNAME[@HOSTNAME] -s "SUBJECT&

linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、target介绍

linux任务计划cron [[email protected] ~]# crontab -e no crontab for root - using an empty one 每天的凌晨3点 执行这个 0 3 * * * /usr/bin/touch /root/123.txt &>/dev/null 启动服务 [[email protected] ~]# systemctl start crond 基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟