1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > LINUX之一次性(at)计划任务及周期性(crontab)计划任务

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

时间:2020-10-19 06:55:48

相关推荐

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

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

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

计划任务分为两类:

1、一次性计划任务

2、周期性计划任务

一次性计划任务在指定的日期、时间点自动的执行预先设置的一些命令操作,属于一次性计划任务系统服务的名称:/etc/init.d/atd设置格式:at [HH:MM] [yyyy-mm-dd]atq命令:查询当前设置的at任务列表 同at -latrm命令:删除指定任务编号的at任务atrm 编号at -dat -c 任务号查看计划任务的具体内容(和at计划任务文件/var/spool/at/以a开头的文件内容相同)at任务结束,文件消失例:创建at计划任务(按ctrl +D提交任务)

[root@rhel3 ~]# at 02:35at> ls /tmpat> <EOT>job 4 at -03-29 02:35

查看计划任务

[root@rhel3 ~]# at -l4-03-29 02:35 a root

查看具体内容

[root@rhel3 ~]# at -c 4

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

[root@rhel3 ~]# at -l[root@rhel3 ~]#

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

[root@rhel3 ~]# tail -14 /var/spool/mail/rootFrom root@rhel3.localdomain Fri Mar 29 02:35:01 Return-Path: <root@rhel3.localdomain>X-Original-To: rootDelivered-To: root@rhel3.localdomainReceived: by rhel3.localdomain (Postfix, from userid 0)id 89E17CC042B; Fri, 29 Mar 02:35:01 +0800 (CST)Subject: Output from your job 4To: root@rhel3.localdomainMessage-Id: <0328183501.89E17CC042B@rhel3.localdomain>Date: Fri, 29 Mar 02:35:01 +0800 (CST)From: root@rhel3.localdomain (root)yum.log

我们可以验证一下

[root@rhel3 ~]# ls /tmpyum.log[root@rhel3 ~]#

补充:

at命令常用格式:

at [HH:MM]at [HH:MM][yyyy-mm-dd]at now +数字 [minutes|hours|days|weeks]at 时间 -f 文件 使用文件中的命令作为计划任务 at now+5minutes -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:0030 8 * * 1,3,5每周一、三、五的8点30分0 8-18 * * *8点到18点整0 12 */3 * * 每隔3天的12点整

例:

创建cron计划任务

[root@rhel3 ~]# crontab -eno crontab for root - using an empty one30 03 * * 1-5 /bin/ls

查看cron计划任务[root@rhel3 ~]# crontab -l30 03 * * 1-5 /bin/ls

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

[root@rhel3 ~]# cd /var/spool/cron[root@rhel3 cron]# lsroot[root@rhel3 cron]# cat root30 03 * * 1-5 /bin/ls

到达指定时间

[root@rhel3 ~]# dateFri Mar 29 03:30:06 CST You have new mail in /var/spool/mail/root

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

[root@rhel3 cron]# tail -1 /var/log/cronMar 29 03:30:01 rhel3 CROND[2981]: (root) CMD (/bin/ls)

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

[root@rhel3 ~]# tail -19 /var/spool/mail/rootFrom: root@rhel3.localdomain (Cron Daemon)To: root@rhel3.localdomainSubject: Cron <root@rhel3> /bin/lsContent-Type: text/plain; charset=UTF-8Auto-Submitted: auto-generatedX-Cron-Env: <LANG=en_US.UTF-8>X-Cron-Env: <SHELL=/bin/sh>X-Cron-Env: <HOME=/root>X-Cron-Env: <PATH=/usr/bin:/bin>X-Cron-Env: <LOGNAME=root>X-Cron-Env: <USER=root>Message-Id: <0328193001.5A10CCC042D@rhel3.localdomain>Date: Fri, 29 Mar 03:30:01 +0800 (CST)anaconda-ks.cfginstall.loginstall.log.syslogmysql-5.7.15-linux-glibc2.5-x86_64.tar.gz

检验一下:

[root@rhel3 ~]# lsanaconda-ks.cfg install.log.sysloginstall.logmysql-5.7.15-linux-glibc2.5-x86_64.tar.gz

删除cron计划任务:

[root@rhel3 cron]# crontab -r [root@rhel3 cron]# crontab -lno crontab for root

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。