任务计划(定时任务)

一、一次性调度执行

一次性调度执行 at

Schedule one-time tasks with at.

语法格式:at <时间格式>

示例:
now +5min 现在的时间+5分钟
Teatime tomorrow(teatime is 16:00) 明天下午茶时间,16点
Noon +4days noon中午,4天后的中午。
5pm august 3 2029 2029年8月3日下午5点。
4:00 2019-11-27

设置一个定时创建用户的任务

at now +3min
At > useradd userAt
在这里插入图片描述

Ctrl+d输入完成,提交任务
在这里插入图片描述

查询任务
atq
在这里插入图片描述

验证结果
到了时间就id一下,出来了就对了。
在这里插入图片描述

二、循环调度执行

循环调度执行 cron

Schedule recurring jobs with cron.

在开始cron之前,需要先查看它的进程状态。
Crond程序运行是计划任务执行的根本。
ps aux | grep crond
在这里插入图片描述
正常来说,都是正常自启的。所以不用担心。

cron示例

计划任务存储位置:
ls /var/spool/corn/
一会我们的计划写好了,就存在这里。

管理方式:

创建计划:
Crontab -e
-e edit jobs for the current user.
在这里插入图片描述
会进入一个类似记事本。这里面就可以编辑计划
操作和vim一致。

查询计划:
Crontab -l
-l list the jobs for the current user.
在这里插入图片描述
管理员可以使用-u username,去管理其他用户的计划任务。

删除计划:
Crontab -r
-r remove all jobs for the current users.

语法格式job format:

* * * * * command
每个*都代表了具体含义,都是代指的时间。
第一个:分钟minute(0-59)
第二个:小时hours(0-24)
第三个:天数(1-31)
第四个:月份(1-12)
第五个:周(0-6)
Command:命令或脚本程序

就是分时日月周 命令或脚本程序
六个部分用空格隔开

示例:
*/5 * * * * /mysql_back.sh 每5分钟执行一次/mysql_back.sh

0 2 1,4,6 * */mysql_back.sh 每月的第1,4,6天的2点整执行/mysql_bash.sh

0 2 5-9 * */mysql_back.sh 每月第5到9天的2点整执行/mysql_bash.sh

* * * * */mysql_back.sh 每分钟执行/mysql_back.sh

0 * * * */mysql_back.sh 每小时0分执行/mysql_back.sh

0 2 * * * /mysql_back.sh 每天2点执行/mysql_back.sh

0 2 14 2 * /mysql_back.sh 每年的2月的14天2点执行/mysql_back.sh

0 2 * * 5/mysql_back.sh 每周五2点执行/mysql_back.sh

0 2 2 6 5/mysql_back.sh 6月的第二天执行一次/mysql_back.sh,且每周五的2点执行一次/mysql_back.sh

00 02 * 6 5/mysql_back.sh 6月的每周五2点执行一次/mysql_back.sh

00 02 14 * 7/mysql_back.sh 每个月的14号及每周天执行一次/mysql_back.sh

日和周的关系是且的关系,如果都存在就都执行。
其实大多时候都不写周的,除非不按照日期来安排计划任务。

当任务计划执行之后,会发送一封邮件到执行用户的邮箱:
可以直接mail查看邮件:
在这里插入图片描述
q退出。

没有mail命令的,可以直接去/var/spool/mail/用户查看
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值