linux周期计划任务crontab,LINUX之一次性(at)计划任务及周期性(crontab)计划任务

计划任务:创建和管理在指定时间自动执行的任务

注意事项:要使计划任务在指定时间内自动运行,计划任务的服务必须能是开启的。

计划任务分为两类:

1、一次性计划任务

2、周期性计划任务

一次性计划任务

在指定的日期、时间点自动的执行预先设置的一些命令操作,属于一次性计划任务

系统服务的名称:/etc/init.d/atd

设置格式:at [HH:MM] [yyyy-mm-dd]

atq命令:查询当前设置的at任务列表 同 at -l

atrm命令:删除指定任务编号的at任务 atrm 编号 同 at -d

at -c 任务号 查看计划任务的具体内容(和at计划任务文件/var/spool/at/以a开头的文件内容相同)

at任务结束,文件消失

例:创建at计划任务(按ctrl +D提交任务)

[root@rhel3 ~]# at 02:35

at> ls /tmp

at>

job 4 at 2019-03-29 02:35

查看计划任务

[root@rhel3 ~]# at -l

42019-03-29 02:35 a root

查看具体内容

[root@rhel3 ~]# at -c 4

当at任务执行结束,就查不到at任务,其计划任务文件也消失

[root@rhel3 ~]# at -l

[root@rhel3 ~]#

8db1e64169ea1698ce491b5ae5906f6b.png

在/var/spool/mail/root下能看到at任务执行的结果(ls /tmp)

[root@rhel3 ~]# tail -14 /var/spool/mail/root

From root@rhel3.localdomain Fri Mar 29 02:35:01 2019

Return-Path:

X-Original-To: root

Delivered-To: root@rhel3.localdomain

Received: by rhel3.localdomain (Postfix, from userid 0)

id 89E17CC042B; Fri, 29 Mar 2019 02:35:01 +0800 (CST)

Subject: Output from your job 4

To: root@rhel3.localdomain

Message-Id: <20190328183501.89E17CC042B@rhel3.localdomain>

Date: Fri, 29 Mar 2019 02:35:01 +0800 (CST)

From: root@rhel3.localdomain (root)

yum.log

我们可以验证一下

[root@rhel3 ~]# ls /tmp

yum.log

[root@rhel3 ~]#

补充:

at命令常用格式:

at [HH:MM]

at [HH:MM] [yyyy-mm-dd]

at now +数字 [minutes|hours|days|weeks]

at 时间 -f 文件 使用文件中的命令作为计划任务

at now +5 minutes -f /root/test.sh

at计划任务还有两个文件:

/etc/at.deny----只有该名单里面的人不可以使用

/etc/at.allow-----只用该名单里面的人可以使用(这个文件一般不存在,如果需要,自行创建)

周期性计划任务

按照预先设置的时间周期(分钟、小时、天…)重复执行用户执行的命令操作,这属于周期计划人任务

服务名称:/etc/init.d/crond

主要设置文件:用户定义的设置,位于文件/etc/spool/cron/用户名

cron服务配置文件:/etc/crontab(包含三部分:注释、环境变量、cron命令)

注意:crond计划任务里的命令有时可能不被执行,因为cron的环境变量PATH 跟系统的PATH 不太一样,它的PATH 路径默认值为:PATH=/sbin:/bin:/usr/sbin:/usr/bin,所以这就造成很多命令不能使用,解决办法:1、自己设置cron的PATH环境变量 2、用命令的绝对路径,如ls我们可以使用: /bin/ls

cron服务日志文件:/var/log/cron

管理cron计划任务:

编辑计划任务:crontab -e [-u 用户名]

查看计划任务:crontab -l [-u 用户名]

删除计划任务:crontab -r [-u 用户名 ]

cron 命令的含义:

50 3 2 1 * run_commandfe

分钟 小时 日期 月份 星期 命令

注意:

root用户可以管理指定用户的计划任务,普通用户只能管理自己的计划任务

时间数值的表示方法:

* 表示该范围内的任意时间

, 表示间隔的多个不连续时间点

- 表示一个连续的时间范围

/n 指定间隔的时间频率

例:

0 17 * * 1- 5 周一到周五每天17:00

30 8 * * 1,3,5 每周一、三、五的8点30分

0 8-18 * * * 8点到18点整

0 12 */3 * * 每隔3天的12点整

例:

创建cron计划任务

[root@rhel3 ~]# crontab -e

no crontab for root - using an empty one

30 03 * * 1-5 /bin/ls

查看cron计划任务

[root@rhel3 ~]# crontab -l

30 03 * * 1-5 /bin/ls

也可以在/var/spool/cron/用户名下查看

[root@rhel3 ~]# cd /var/spool/cron

[root@rhel3 cron]# ls

root

[root@rhel3 cron]# cat root

30 03 * * 1-5 /bin/ls

到达指定时间

[root@rhel3 ~]# date

Fri Mar 29 03:30:06 CST 2019

You have new mail in /var/spool/mail/root

在/var/log/cron中可以看到cron执行的命令

[root@rhel3 cron]# tail -1 /var/log/cron

Mar 29 03:30:01 rhel3 CROND[2981]: (root) CMD (/bin/ls)

在/var/spool/mail/root中可以查看执行的结果

[root@rhel3 ~]# tail -19 /var/spool/mail/root

From: root@rhel3.localdomain (Cron Daemon)

To: root@rhel3.localdomain

Subject: Cron /bin/ls

Content-Type: text/plain; charset=UTF-8

Auto-Submitted: auto-generated

X-Cron-Env:

X-Cron-Env:

X-Cron-Env:

X-Cron-Env:

X-Cron-Env:

X-Cron-Env:

Message-Id: <20190328193001.5A10CCC042D@rhel3.localdomain>

Date: Fri, 29 Mar 2019 03:30:01 +0800 (CST)

anaconda-ks.cfg

install.log

install.log.syslog

mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz

检验一下:

[root@rhel3 ~]# ls

anaconda-ks.cfg install.log.syslog

install.log mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz

删除cron计划任务:

[root@rhel3 cron]# crontab -r

[root@rhel3 cron]# crontab -l

no crontab for root

注意:在只有使用cron -r命令时,它会删除所有的cron任务

如果要删除指定的cron任务,就需要在/var/spool/cron/root中删除满足条件的一行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值