龙空技术网

Linux学习之计划任务

武子麒 190

前言:

现在大家对“linux计划任务如何添加”大约比较注重,大家都想要知道一些“linux计划任务如何添加”的相关知识。那么小编在网上网罗了一些有关“linux计划任务如何添加””的相关文章,希望各位老铁们能喜欢,小伙伴们快快来了解一下吧!

Linux学习之计划任务简介什么是计划任务atcrontab简介什么是计划任务

我们作为运维工程师,免不了要定时地去执行一些系统命令,当这些命令需要在夜间执行的时候,就会让我们非常的难受。因此,为了解决这一痛点,我们引入了Linux计划任务。在Linux系统中,主要有两种执行计划任务的方式, 一种是仅执行一次,我们常用at来实现,另一种是执行一些周期性任务,我们使用crontab来实现

at

我们一般用at命令来执行需要定时执行的,一次性的这种任务,比如说,我需要在早晨7点的时候,重启我的nginx,首先,在终端输入at 7:00,之后输入systemctl restart nginx,然后按Ctrl+d来提交这个任务

如果说我们想要查看我们设置的定时任务,可以使用at -l命令,最左面一列代表的是任务的id,如果想要删除,可以使用at -d $id

at有两个配置文件,一个是/etc/at.deny,一个是/etc/at.allow,这两个配置文件是用来对用户做限制的,例如/etc/at.deny中存在用户test,那么test用户就没有权限执行at命令,当/etc/at.deny和/etc/at.allow同时存在test时,at.allow的优先级要高一些,此时,用户test则可以使用at命令

crontab

Linux中,我们常用crontab来执行一些周期性的命令,先来看下crontab命令常用的一些选项:

crontab -l 查看计划任务crontab -e 编辑计划任务crontab -u 指定用户

接下来我们看一看crontab的配置文件,cat /etc/crontab

在最下面一行,我们可以清楚地看到crontab的标准格式,在最前面的五个*分别代表了分、时、日、月、周,相应地在配置文件中也给出了解释,分的取值范围是0-59,时的取值范围是0-23,日的取值范围是1-31,月的取值范围是1-12或者使用英文月份来指代,周的取值范围是0-7,其中0和7都代表周日,或者使用英文,我们举几个简单的例子来说明一下:

1、每半小时执行一次b.sh脚本

*/30 * * * * /bin/sh /root/b.sh

2、每周一的晚上7点执行b.sh脚本

0 19 * * 1 /bin/sh /root/b.sh

3、每个月10号到12号,在晚上的7点到8点,每隔半小时执行一次b.sh脚本

*/30 7,8 10-12 * *Linux学习之计划任务

标签: #linux计划任务如何添加 #linux任务计划怎么写